我的应用程序将使用数百个表,每个表可以有数百万(4-5)个键值对。表之间不需要关系。
以下是我对表执行的操作。
- 它的使用是内存缓存和持久存储的完美结合,容错并且能够从故障中恢复。
- 非常频繁地更新特定键的值。单个线程为特定键执行此操作。
- 需要根据值对表中的键进行排序。(常用)
- 一些键值对插入。
有很多 No Sql 数据库,例如 Apache H-Base、Cassandra、Berkeley DB、Redis..etc 请建议我哪个最适合我的用例。系统要求是什么?
我的应用程序将使用数百个表,每个表可以有数百万(4-5)个键值对。表之间不需要关系。
以下是我对表执行的操作。
有很多 No Sql 数据库,例如 Apache H-Base、Cassandra、Berkeley DB、Redis..etc 请建议我哪个最适合我的用例。系统要求是什么?
它的使用是内存缓存和持久存储的完美结合,容错并且能够从故障中恢复。
Redis 可能是目前最流行的(不仅仅是)K/V 内存数据存储解决方案。为了使其容错,您可以利用它的主从复制功能。
非常频繁地更新特定键的值。单个线程为特定键执行此操作。
不确定“单个线程为特定键执行此操作”是什么意思,但 redis 的设计速度非常快。
需要根据值对表中的键进行排序。(常用)
Redis supports sorted set data structure.
What are the system requirements?
As of amount of memory requirement I would recommend to read the doc on memory optimization.
建议 Redis p3。需要一些冗余存储来解决排序集中的键。但是,这里还有一个问题:你有这么多的记忆吗?