2012-03-15 76 views
5

我需要一个类似于cdb(常量数据库)的工具,它允许我在索引中存储大量数据集(范围为几百GB)文件。国家开发银行是一个理想的候选人,但它有一个2 GB的文件大小限制,所以它不适合。 我正在寻找的功能是支持二进制密钥和值的持久性键值存储。创建数据库后只读,永远不会被修改。 你能推荐一些工具吗?顺便说一句,存储开销应该很小,因为我将会存储数十亿条记录。cdb - 用于大文件(数百GB)的常量键值存储

顺便说一句我正在寻找一个数据库管理库(可嵌入),而不是一个独立的服务器。一些可以在C程序中使用的东西。

感谢, RG

回答

3

另一种选择是MCDB,这是从丹J. Bernstein的CDB延长。

https://github.com/gstrauss/mcdb/

MCDB支持非常大的常量数据库,比CDB快,无论是创建数据库和数据库访问。但是,创建数百GB的数据库可能需要一些时间。 mcdb可以在几秒钟内为缓存数据创建一个千兆字节大小的数据库,或者在从冷藏缓存启动后一分钟左右创建一个千兆字节大小的数据库。

https://github.com/gstrauss/mcdb/blob/master/t/PERFORMANCE

(披露:我是MCDB的作者)

1

有hamsterdb(我是作者)的BerkeleyDB,东京柜。

hamsterdb使用btree并因此对数据进行排序。东京内阁是一个哈希表,因此不排序。 berkeleydb可以做到这一点。

不用多说什么,我会建议;)

它们都可以链接到一个C应用程序。他们都不应该有2GB的限制。

再见 克里斯托夫

+0

感谢,克里斯托夫。我知道这些KV商店,但正在寻找更低层次的东西。但是现在我认为这不是一个好主意。昨天我开始尝试使用伯克利,它可能会完成这项工作。对不起,没有使用仓鼠 - 伯克利已经安装在我的系统... – nightwatch 2012-03-18 07:53:34

+0

东京内阁有一个B +树数据库... – michaelmeyer 2014-04-28 16:13:53