可嵌入文档存储数据库

时间:2011-05-21 07:40:20

标签: c++ database nosql document-storage

是否有类似于SQLite的东西,但是面向文档的数据库而不是RDBMS?

Orient似乎与我想要的类似,但它是用Java编写的,我正在寻找可以在C ++中使用的东西。

理想情况下,这将是一个无服务器系统,如SQLite。

8 个答案:

答案 0 :(得分:16)

UnQLite

  

UnQLite是一个实现过程的进程内软件库   自包含,无服务器,零配置,事务性NoSQL   数据库引擎。 UnQLite是一个类似于的文档存储数据库   MongoDB,Redis,CouchDB等以及标准的Key / Value商店   类似于BerkeleyDB,LevelDB等。

     

UnQLite是100%手动编码,用ANSI C编写,线程安全,完整   可重入,编译未修改,应该在大多数平台上运行   包括带有C编译器的受限嵌入式设备。 UnQLite是   在Windows和UNIX系统上进行了广泛测试,尤其是Linux,   FreeBSD,Oracle Solaris和Mac OS X。

答案 1 :(得分:2)

实际上CouchDB并不是严格面向服务器的。它旨在在各种环境中运行。请参阅此处couch on mobile

  

Erlang,CouchDB的实现语言设计为在比现在的手机更小,功能更强大的嵌入式设备上运行。

来自http://guide.couchdb.org/draft/why.html

Tokyo/Kyoto Cabinet是用C ++编写的,但它是一个简单的键值存储。

有关其他替代方案,请参阅完整的nosql列表:http://nosql-database.org/

答案 2 :(得分:1)

RavenDB,用.NET编写,带有嵌入式版本。

答案 3 :(得分:1)

您是否考虑使用Lucene的C ++版本Xapian?它可以帮助您在具有多个字段的文档上存储和运行复杂查询。

答案 4 :(得分:1)

另一个建议是使用Berkley DB,因为它针对数据的嵌入式访问进行了优化,非常成熟。它们不仅提供基于K / V的访问,还提供类似SQL,XML和Java对象访问。另外结帐overview

答案 5 :(得分:0)

试试hamsterdb。它是用C语言编写的,它还支持C ++(among others)。有许多platforms支持。

答案 6 :(得分:0)

我没有试过自己,但也许这个会满足你的要求:

- CouchDB的

http://couchdb.apache.org/

- 用于与Apache CouchDB通信的C ++库

http://code.google.com/p/couchdbpp/

EDIT。

我的回答太快了,因为CouchDb是面向服务器的。不过,看一看。

答案 7 :(得分:-1)

还有Fossil

  

关于Fossil经常出现的两个问题(或批评)   可归纳如下:

     

为什么Fossil基于SQLite而不是分布式NoSQL数据库?   为什么Fossil用C语言而不是现代高级语言编写?   这两个问题都不能直接回答,因为它们都是基于   在错误的假设。我们声称Fossil不是基于SQLite的   所有和那个Fossil不是基于分布式NoSQL数据库   因为Fossil是一个分布式NoSQL数据库。并且,Fossil确实使用了   用于实现的现代高级语言,即SQL。