15

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

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

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

4

8 回答 8

16

UnQLite

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

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

于 2013-05-24T20:21:24.870 回答
2

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

Erlang 是 CouchDB 的实现语言,旨在运行在比当今手机更小、功能更弱的嵌入式设备上。

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

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

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

于 2011-05-28T04:25:49.530 回答
1

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

于 2011-05-22T00:10:10.993 回答
1

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

于 2011-05-26T11:35:12.067 回答
1

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

于 2011-05-26T17:31:15.433 回答
0

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

于 2011-05-26T11:18:14.067 回答
0

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

--沙发数据库

http://couchdb.apache.org/

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

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

编辑。

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

于 2011-05-26T11:56:58.110 回答
-1

还有化石

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

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

于 2012-12-24T07:31:25.430 回答