基于服务器的嵌入式数据库

时间:2012-07-31 10:21:17

标签: c++ sql database

我正在试图找出适合我需求的数据库。我的c ++项目需要一个将在销售给客户的设备上运行的数据库。主要是它只会将数据和事件记录到本地SSD磁盘上的数据库中。写入速度是最重要的,因为记录频率可高达1000Hz(每1ms写入1次)。必须能够从其他设备远程访问数据,以对数据进行图形可视化。我用第三方服务器,mysql和postgres测试了sqlite。与其他人相比,Postgres似乎相当缓慢。正如我所读到的,如果并发性会增加,Postgres将变得更好,但在我看来,并发性将会非常低。 我想知道是否有其他数据库满足这些需求。它也觉得mysql和postgres对于这样的要求将是一个小小的过度杀手。有什么建议吗?

4 个答案:

答案 0 :(得分:3)

PostgreSQL是一个企业级数据库,不适合嵌入式设备。 MySQL虽然较小,但也非常适合嵌入式设备。 SQLite是最常见的,并且广泛用于嵌入式设备,甚至非常小。

答案 1 :(得分:1)

转到sqlite,因为你的要求声明你的应用程序将在DEVICES上运行,而且主要是访客,他们是移动设备,几乎所有移动设备都支持sqlite ....所以去吧...

答案 2 :(得分:0)

考虑一下BerkeleyDB。如果您需要支持等,它是一个占地面积小的嵌入式数据库,拥有大型商业支持者。有开源版本以及商业许可版本。不支持SQL查询,但除非你做了非常复杂的关系查询,否则这应该不是问题。虽然初始数据库配置往往很尴尬,但并发支持非常好。

只有Microsoft的可扩展存储引擎形式的替代品,在大多数Windows版本上都是免费的。还有其他各种“DBM”类似的简单嵌入式数据库,只要你觉得不需要SQL。

您可能还会考虑内存中的'NoSQL'风格的数据库;像Redis这样的东西会非常高效。

答案 3 :(得分:0)

RDM Embedded可能适合您。我使用Raima,这个产品允许您远程访问数据,如果需要,您可以利用内存或混合磁盘/内存数据库功能(www.raima.com/in-memory-database)至。在这种特殊情况下,对您有用的是RDM产品可以一起用于管理嵌入式,移动,桌面或服务器设备之间的数据。这可以通过我们的产品,RDM Embedded,RDM Mobile,RDM Workgroup和RDM Server轻松设置。

如果您想在下载完整产品之前快速测试我们数据库的性能,请转到我们的Database Performance Popcorn Samples