用于大型整数值列表的键值存储

Key Value Store for large list of integer values

我的应用程序需要键值存储。以下是有关键值的一些详细信息:

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

应用程序需要根据指定键快速访问整数列表。但是,这个步骤在应用程序的工作中并不频繁。

我需要针对我的案例的最佳键值存储建议。我需要根据键快速检索值,值大小可以在 512 MB 左右或更多。

我检查了 Redis,但它要求将存储存储在内存中。但是,在给定的情况下,我认为我应该寻找基于磁盘的键值存储。

LevelDB 可以很好地满足您的用例,因为您的密钥数量有限(假设您有足够的磁盘 space 满足您的要求),并且可能不会需要分布式解决方案。

您需要指定的一件事是您是否希望(以及如何)在数据库中修改一次列表,因为 levelDB 和许多其他通用键值存储没有这样的原子事务。

如果您正在寻找分布式数据库,cassandra 很好,因为它还可以让您 insert/remove 个单独的列表元素。