我们正在考虑将用户交互与用户表交错,唯一的问题是每个用户将有数万次交互,因此一个键值范围的 64MB 很可能很少适合。
CockroachDB 文档指出:
如果为根表的任何主键值存储的交错数据量大于键值范围的最大大小(默认为 64MB),则交错优化将减少。
- 那么,性能下降会有多糟糕呢?
- 我们甚至应该费心交错我们的桌子吗?
用户和交互表会稍微大一点,我们目前估计在 5 到 10TB 左右。将会有大量的聚合查询,需要在交互和用户表之间进行连接,然后在一些用户列上进行聚合。
Elasticsearch 已经让我们失望了,因为它糟糕的父子连接性能(不要让我开始强制过滤器重新排序......),所以也许有人对这种情况有 CockroachDB 的生产经验?