快速,低内存,恒定键值数据库,支持并发和随机访问读取

san*_*san 5 key-value multiprocessing multiprocess key-value-store

我需要磁盘上的键值存储,不要太大或分布不大。用例如下:

  • 完整的数据库将只有几个Gbs
  • 键和值都具有恒定大小
  • 它是一个恒定的数据库。整个数据库写完后,我不需要再写任何条目(或很少写)
  • 密钥将以不可预测的顺序访问
  • 必须支持多个进程的并发读取
  • 必须非常快,因为读者将紧密访问数百万个密钥。因此,它应该尽可能像循环遍历关联数组(STL's std::map例如)
  • 理想情况下,它应允许设置要使用的RAM数量,通常应使用数百Mb
  • 用C或C ++编写。现有的python扩展将是一个很大的优势,但我可以自己添加

因此cdbgdbm看起来不错的选择,但只是想知道是否有更合适的选择。指向相关基准甚至相关轶事证据的指针将不胜感激。

hsa*_*ers 0

你看过bdb吗?听起来 BDB 的用途很好。