在我的笔记本电脑中存储一些大的键值对?

时间:2014-09-23 00:53:55

标签: database key-value-store

我手上有大约4400万个键值对,需要存储在我的笔记本电脑中。键和值都是短文本,键都是唯一的。它们的总大小约为几千兆字节。

我尝试将它们存储在GDBM数据库中。问题是每当我插入一条新记录时,GDBM都会检查密钥是否存在,随着数据库的增长,它会越来越慢。我的存储程序运行了2个小时,没有很快完成的迹象,所以我放弃了。

所以现在我正在寻找一个

的键值数据库系统
  • 添加记录时相当快,最好是独立于数据库大小。
  • 最好是简单和小巧,因此我不必在笔记本电脑上运行大量守护进程(如果没有守护进程的话)。我不需要经常访问这个数据库。
  • 访问简单快捷。至少我不需要在内存中加载整个数据库。我想过将它们存储在一个大的XML / JSON文件中,但加载它和访问条目会很痛苦(......对吗?)。
  • 理想情况下将所有内容存储在一个文件中。
  • 理想情况下有Python接口。虽然我不介意编写C / C ++。

我不需要经常访问数据库(可能是每周,或每月,那种频率)。它仅供我个人使用,因此不需要涉及主从/并发/负载平衡魔法。我可能需要不时查找某些条目,或者有时会对整个集合进行一次或两次迭代以获取某些统计信息。一旦最初存储数据,我通常不会(可能永远不会)更改数据。

我正在使用OS X的2011 Macbook Pro(无SSD),如果有帮助的话。

我应该使用什么数据库?


更新:我一直在测试一些键值数据库,包括Google的leveldb。

...

...

...

然后我将我的公共测试版OS X 10.10(我用于所有这些)更新到发布版本,问题消失了...... ...... DBM现在实际上都很快。

1 个答案:

答案 0 :(得分:0)

也许你可以尝试koyoto cabinet。 http://fallabs.com/kyotocabinet/