嵌入式数据库采用快速多次写入

时间:2011-04-08 01:18:18

标签: c# wpf database sqlite

我正在创建一个C#WPF应用程序,它可以吸收RS232数据并以相对较高的速度(每秒数百个)将所有数据存储到嵌入式数据库中。该应用程序同时执行两项操作:

  1. 获取RS232数据并存储到数据库
  2. 绘制数据库中的数据。
  3. 我认为SQLite是因为我的应用程序需要嵌入式数据库而且它是单个用户应用程序。但是存储和绘制数据(可能存储当前数据和绘制昨天的数据)需要对数据库进行并发读写。我听说SQLite在一个查询上锁定并且canot同时处理多个查询。真的吗?如果是这样,其他嵌入式数据库支持多次写入?

3 个答案:

答案 0 :(得分:3)

Berkeley DB具有非阻塞写入,并且具有快速的声誉。

非常有趣的是,it can be used as a drop in replacement for SQLite

  

写入SQLite的应用程序   版本3 API可以切换到使用   Oracle Berkeley DB没有代码   通过重新链接来改变   Berkeley DB SQLite库。该   两者的应用程序级行为   产品是相同的,但是   Berkeley DB的高级功能   提供改进的SQLite应用程序   性能,并发性,可伸缩性,   和可靠性。

这听起来很合适。

答案 1 :(得分:2)

好的,有些事情。

首先,是的SQLite是线程安全的,即使作者并不热衷于它。请在此处阅读:http://www.sqlite.org/faq.html#q6

其次,你提到“快”是每秒数百个插入。如果在事务中包装所有内容,SQLite每秒可轻松达到30,000次插入。我说这不是因为它确实是你的问题,而是因为知道这可能有助于你的决定(因为它重新定义了被认为是“快”的东西)。

答案 2 :(得分:0)

查看RavenDB。 http://www.ravendb.net/使用它运行一些测试会很容易,看看它是否能满足你的要求。

相关问题