开源是否创建过自动处理事务的单文件数据库?

问题描述 投票:0回答:3

开源是否曾经创建过一个单文件数据库,在处理未在正式 SQL 事务集中传递的大型 SQL 查询集时具有更好的性能?我使用的 .NET 服务器对来自另一台服务器的数千行数据进行大量复制,并且以一对一的方式进行复制,无需正式的 SQL 事务。因此,我不能使用 SQLite 或 FirebirdDB 或 JavaDB,因为它们都不会自动批处理事务,因此性能很差。每次插入都会等待前一个插入成功,等等。因此,我被迫使用较重的数据库,如 SQLServer、MySQL、Postgres 或 Oracle。

有谁知道平面文件数据库(具有 JDBC 连接驱动程序)可以支持自动批处理事务并解决我的问题?

我不喜欢较重的数据库的主要原因是缺乏通过一键单击操作查看数据库内部的能力,就像使用 SQLLite 一样。

我尝试创建一个 SQLite 数据库并 然后设置 PRAGMA read_uncommissed=TRUE; 并且它没有导致任何结果 性能提升。

database firebird
3个回答
3
投票

我认为Firebird可以解决这个问题。

Firebird 拥有良好的 dotnet 提供商和许多复制解决方案

也许你可以阅读这篇有关 Firebird 交易的文章


1
投票

尝试高超音速数据库 - http://hsqldb.org/doc/guide/ch02.html#N104FC


0
投票

如果您希望事务持久(即在电源故障时幸存),那么数据库必须在每次事务后写入磁盘(这通常是某种日志)。

如果您的事务非常小,这将导致大量写入,甚至在电池支持的 raid 控制器或 SSD 上性能也很差,但在消费级硬件上性能更差。

避免这种情况的唯一方法是以某种方式禁用 txn 提交时的刷新(这当然会破坏持久性)。我不知道哪些支持这一点,但应该很容易找到。

© www.soinside.com 2019 - 2024. All rights reserved.