StrokeDB* A CouchDB-like database written in Ruby to make embedding into Ruby apps easier.
mongoDB A high-performance, open source, schema-free document-oriented database.
And of course Tokyo Cabinet which has already been mentioned.
There's also neo4j which is a "graph database" for java.
Of course, part of the power of CouchDB and some of the others is not just being able to store key/value pairs, but the high capacity, replication, and in particular views, which are basically the way of running queries over your documents.
If you just needed a simple key/value datastore that you can embed into your program, that doesn't have to hold gigs of data, the venerable GDBM might suit your needs.
A little hard to answer without knowing a bit more about your needs (programming language, concurrency requirements, data volumes and such).
* Web site does not appear to be working at the time of this writing.
TinyCDB is a very fast and simple package for creating and reading constant data bases, a data structure introduced by Dan J. Bernstein in his cdb package. It may be used to speed up searches in a sequence of (key,value) pairs with very big number of records. Example usage is indexing a big list of users - where a search will require linear reading of a large /etc/passwd file, and for many other tasks. It's usage/API is similar to ones found in BerkeleyDB, gdbm and traditional *nix dbm/ndbm libraries, and is compatible in great extent to cdb-0.75 package by Dan Bernstein.
CDB is a constant database, that is, it cannot be updated at a runtime, only rebuilt. Rebuilding is atomic operation and is very fast - much faster than of many other similar packages. Once created, CDB may be queried, and a query takes very little time to complete.
The OS filesystem is a lightweight key/value database. Keys are filenames and values are data in the files.
The word "embeddable" has an odd meaning if it's to be RESTful, so I don't really understand your requirements; but if all you need is storage and retrieval, why not use the FS?
Check out Perst -- it's licensed GPLv2 and/or proprietary depending on your needs. I've never used it but I hear that it's good. It's an application-embedded key-value store database under active development with ports to a number of popular frameworks and languages.
适用于什么平台? Tokyo Cabinet 是一个轻量级、可嵌入、关联的数据库引擎,适用于各种脚本环境(Java、Ruby、Perl 、Lua 等)
For what platform? Tokyo Cabinet is a lightweight, embeddable, associative database engine for a variety of scripting environments (Java, Ruby, Perl, Lua, et al.)
发布评论
评论(6)
在 CouchDB wiki 的 相关项目 页面上,在“替代方案”下,他们提到了一些类似的项目:
当然还有已经提到过的东京内阁。
还有 neo4j,它是 Java 的“图形数据库”。
当然,CouchDB 和其他一些数据库的部分功能不仅仅在于能够存储键/值对,还在于高容量、复制,特别是视图,这些基本上是对文档运行查询的方式。
如果您只需要一个可以嵌入到程序中的简单键/值数据存储,而不必保存大量数据,那么古老的 GDBM 可能适合您的需求。
如果不了解更多关于您的需求(编程语言、并发要求、数据量等),则有点难以回答。
* 在撰写本文时,网站似乎无法运行。
On the Related Projects page of the CouchDB wiki, under "Alternatives" they mention some similar projects:
And of course Tokyo Cabinet which has already been mentioned.
There's also neo4j which is a "graph database" for java.
Of course, part of the power of CouchDB and some of the others is not just being able to store key/value pairs, but the high capacity, replication, and in particular views, which are basically the way of running queries over your documents.
If you just needed a simple key/value datastore that you can embed into your program, that doesn't have to hold gigs of data, the venerable GDBM might suit your needs.
A little hard to answer without knowing a bit more about your needs (programming language, concurrency requirements, data volumes and such).
* Web site does not appear to be working at the time of this writing.
TinyCDB 合适吗?
http://www.corpit.ru/mjt/tinycdb.html
简介
TinyCDB 是一个非常快速且简单的包,用于创建和读取常量数据库,这是 Dan J. Bernstein 在他的 cdb 包中引入的数据结构。 它可用于加速具有大量记录的(键,值)对序列中的搜索。 示例用法是为大量用户建立索引 - 其中搜索需要线性读取大型 /etc/passwd 文件,以及许多其他任务。 它的用法/API 与 BerkeleyDB、gdbm 和传统 *nix dbm/ndbm 库中的用法/API 类似,并且在很大程度上与 Dan Bernstein 的 cdb-0.75 包兼容。
CDB是一个常量数据库,也就是说,它不能在运行时更新,只能重建。 重建是原子操作,并且速度非常快 - 比许多其他类似的包快得多。 一旦创建,CDB就可以被查询,并且查询只需很少的时间即可完成。
Would TinyCDB be suitable?
http://www.corpit.ru/mjt/tinycdb.html
Introduction
TinyCDB is a very fast and simple package for creating and reading constant data bases, a data structure introduced by Dan J. Bernstein in his cdb package. It may be used to speed up searches in a sequence of (key,value) pairs with very big number of records. Example usage is indexing a big list of users - where a search will require linear reading of a large /etc/passwd file, and for many other tasks. It's usage/API is similar to ones found in BerkeleyDB, gdbm and traditional *nix dbm/ndbm libraries, and is compatible in great extent to cdb-0.75 package by Dan Bernstein.
CDB is a constant database, that is, it cannot be updated at a runtime, only rebuilt. Rebuilding is atomic operation and is very fast - much faster than of many other similar packages. Once created, CDB may be queried, and a query takes very little time to complete.
简单、可嵌入的键/值数据库? 差不多就是BDB
Simple, embeddable key/value database ? That's pretty much BDB
操作系统文件系统是一个轻量级的键/值数据库。 键是文件名,值是文件中的数据。
如果它是 RESTful 的话,“可嵌入”这个词有一个奇怪的含义,所以我不太明白你的要求; 但如果您只需要存储和检索,为什么不使用文件系统呢?
The OS filesystem is a lightweight key/value database. Keys are filenames and values are data in the files.
The word "embeddable" has an odd meaning if it's to be RESTful, so I don't really understand your requirements; but if all you need is storage and retrieval, why not use the FS?
查看 Perst - 它已获得 GPLv2 和/或专有许可,具体取决于您的需求。 我从来没有用过它,但我听说它很好。 它是一个正在积极开发的应用程序嵌入式键值存储数据库,可移植到许多流行的框架和语言。
Check out Perst -- it's licensed GPLv2 and/or proprietary depending on your needs. I've never used it but I hear that it's good. It's an application-embedded key-value store database under active development with ports to a number of popular frameworks and languages.
适用于什么平台? Tokyo Cabinet 是一个轻量级、可嵌入、关联的数据库引擎,适用于各种脚本环境(Java、Ruby、Perl 、Lua 等)
For what platform? Tokyo Cabinet is a lightweight, embeddable, associative database engine for a variety of scripting environments (Java, Ruby, Perl, Lua, et al.)