开源有没有创建一个自动处理事务的单个文件数据库?

时间:2009-11-03 19:10:39

标签: database firebird

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

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

主要认为我不喜欢较重的数据库是缺乏使用单击鼠标单击操作查看数据库内部的能力,就像使用SQLLite一样。

  

我尝试创建一个SQLite数据库和   然后设置PRAGMA read_uncommitted = TRUE;   并没有导致任何结果   绩效改善。

3 个答案:

答案 0 :(得分:3)

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

Firebird拥有良好的dotnet提供商和许多replication

的解决方案

您可以阅读此article for Firebird transaction

答案 1 :(得分:1)

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

答案 2 :(得分:0)

如果您希望您的交易持久(即在电源故障后仍然存在),那么数据库将在每次交易后写入光盘(这通常是某种日志)。

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

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