我正在寻找符合这些标准的数据库:
- 可能是非持久性的;
- 几乎所有DB的密钥都需要在3-6小时内更新一次(100M +密钥,总大小为100Gb)
- 能够通过密钥(或主键)快速选择数据
- 这需要是一个DBMS(所以LevelDB不适合)
- 写入数据时,数据库集群必须能够提供查询(尽管可以阻止单个节点)
- 不在内存中 - 我们的数据集将超出RAM限制
- 水平缩放和复制
- 支持完全重写所有数据(删除数据后MongoDB不会清除空间)
- C#和Java支持
以下是我使用此类数据库的过程:我们有一个分析群集,每4-6小时可生成100M记录(50GB)数据.数据是"键 - 数组[20]".这些数据需要通过前端系统分发给用户,每秒的速率为1-10k.平均而言,只有约15%的数据被请求,其余部分将在生成下一个数据集时在4-6小时内重写.
我尝试了什么:
- MongoDB的.数据存储开销,碎片整理成本高.
- Redis的.看起来很完美,但它受RAM限制,我们的数据超出了它.
所以问题是:有什么像Redis,但不限于RAM大小?