是否有类似于SQLite的东西,但是面向文档的数据库而不是RDBMS?
Orient似乎与我想要的类似,但它是用Java编写的,我正在寻找可以在C ++中使用的东西。
理想情况下,这将是一个无服务器系统,如SQLite。
答案 0 :(得分:16)
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的
与
- 用于与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。