san*_*san
5
key-value
multiprocessing
multiprocess
key-value-store
我需要磁盘上的键值存储,不要太大或分布不大。用例如下:
- 完整的数据库将只有几个Gbs
- 键和值都具有恒定大小
- 它是一个恒定的数据库。整个数据库写完后,我不需要再写任何条目(或很少写)
- 密钥将以不可预测的顺序访问
- 必须支持多个进程的并发读取。
- 必须非常快,因为读者将紧密地访问数百万个密钥。因此,它应该尽可能像循环遍历关联数组(
STL's std::map例如)
- 理想情况下,它应允许设置要使用的RAM数量,通常应使用数百Mb
- 用C或C ++编写。现有的python扩展将是一个很大的优势,但我可以自己添加
因此cdb,gdbm看起来不错的选择,但只是想知道是否有更合适的选择。指向相关基准甚至相关轶事证据的指针将不胜感激。