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

Dictionary 用于大整型值列表的键值存储,dictionary,cassandra,redis,key-value-store,Dictionary,Cassandra,Redis,Key Value Store,我的应用程序需要一个键值存储。以下是有关键值的一些详细信息: 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

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

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可以非常适合您的用例,因为您的键值数量有限(假设您有足够的磁盘空间满足您的需求),并且可能不需要分布式解决方案

您需要指定的一件事是,如果(以及如何)希望在db中修改列表一次,因为levelDB和许多其他常规key val存储没有这样的原子事务


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

LevelDB可以非常适合您的用例,因为您的密钥数量有限(假设您有足够的磁盘空间满足您的需求),并且可能不需要分布式解决方案

您需要指定的一件事是,如果(以及如何)希望在db中修改列表一次,因为levelDB和许多其他常规key val存储没有这样的原子事务


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

请参见此处的数据库排名:Redis确实是一个不错的数据库,您可以进行群集、复制和分片,Redis允许持久性,唯一的限制是您的数据必须符合memorySee db排名:Redis确实是一个很好的工具,您可以进行集群、复制和切分,Redis允许持久性,唯一的限制是您的数据必须符合memorySee db的要求,LevelDB可以存储100字节的值,但在我的情况下,一个键的值将超过10000个(整数)。有没有办法让一个键对一个键支持这个数量的值?好吧,leveldb可以存储任意大的键和值(尽管出于实际原因,它可能会被限制为几MB)。我读到leveldb可以存储一个100字节的值,但在我的情况下,一个键将有10000多个值(整数)。有没有办法让一个键对一个键支持这么多的值?好吧,leveldb可以存储任意大的键和值(尽管出于实际原因,它可能会被限制为几MB)。