我的应用程序需要一个键值存储。以下是关键值的一些细节:
1) Number of keys (data type: string) can either be 256, 1024 or 4096.
2) Data type of values against each key is a list of integers.
3) The list of integers (value) against each key can vary in size
4) The largest size of the value can be around 10,000,000 integers
5) Some keys might contain very small list of integers
应用程序需要快速访问指定密钥的整数列表。但是,此步骤在应用程序的工作中并不常见。
我需要为我的案例提供最佳Key值商店的建议。我需要根据键快速检索值,并且值大小可以在512 MB或更大。
我检查了Redis,但它要求商店存储在内存中。但是,在给定的场景中,我认为我应该寻找基于磁盘的键值存储。
答案 0 :(得分:0)
LevelDB 非常适合您的用例,因为您的密钥数量有限(假设您有足够的磁盘空间满足您的要求),并且可能不需要分布式解决方案。
您需要指定的一件事是,您希望在db中修改列表一次(以及如何),因为levelDB和许多其他通用key-val存储没有这样的原子事务。
如果您正在寻找分布式数据库, cassandra 是好的,因为它还允许您插入/删除单个列表元素。