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

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

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

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

关于dictionary - 用于大型整数值列表的键值存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39234930/

相关文章:

java - Cassandra 中的单数据列与多列

php - 尝试使用 php 和 redis 内爆字符串

ruby-on-rails - Resque - 在多个服务器之间平均分配作业负载

Python字典检查键是否存在

windows-7 - 在 Windows 7 上启动 Cassandra 服务器时出错

c++ - Tilemap 碰撞 SFML C++

scala - 如何使用包含条件从 Phantom 中的 ListColumn [String] 获取数据

nosql - 我应该使用哪个键值数据库?

python - 如何使用循环制作字典?

python - Python 中错误的输出顺序