可嵌入的文档存储数据库



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

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

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

UnQLite

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

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

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

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

实际上CouchDB并不是严格面向服务器的。它旨在在各种环境中运行。请参阅此处了解移动设备上的沙发。

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

从 http://guide.couchdb.org/draft/why.html

东京/京都内阁是用C++编写的,但是一个简单的键值存储。

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

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

试试仓鼠数据库。它是用C语言编写的,并且还具有C++支持(以及其他)。支持许多平台。

我还没有尝试过自己,但也许这个可以满足您的要求:

-

-CouchDB

http://couchdb.apache.org/

-

-C++与Apache CouchDB通信的库

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

编辑。

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

还有化石。

关于化石经常出现的两个问题(或批评) 可以总结如下:

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

相关内容

最新更新