所以我们希望存储两种索引。
- 第一种将是数十亿的数量级,每个都有 1 到 1000 个值,每个值是一个或两个 64 位整数。
- 第二种将是数百万的数量级,每个都有大约 200 个值,每个值的大小在 1KB 到 1MB 之间。
我们的使用模式将是这样的:
- 两种索引的值都会以每秒数千次的速度添加到顶部。
- 索引将不常被读取,但当它们被读取时,它将是被读取的整个索引
- 应该修剪索引,无论是在将值写入索引还是在某种批处理类型的作业中
现在我们已经考虑了很多数据库,目前我们最喜欢的是 Cassandra 和 PostreSQL。然而,我们的应用程序是在 Erlang 中的,它没有为 Cassandra 提供生产就绪的绑定。而一个主要的要求就是不能需要太多的人力来维护。我感觉 Cassandra 会引发意想不到的扩展问题,而 PostgreSQL 会很痛苦,但至少对我们来说这是一个已知数量。我们已经熟悉 PostgreSQL,但对 Cassandra 还不是很熟悉。
所以。关于哪种数据存储最适合我们的用例的任何建议或建议?我愿意接受任何和所有建议!
谢谢,
-亚历克