Apache Cassandra num_tokens 写入繁重应用程序的理想值

Apache Cassandra num_tokens ideal value for write heavy application

我正在设置 Cassandra 3.11 集群,想知道 num_tokens 的理想值是多少。默认情况下,cassandra.yaml 有 256。Cassandra 上的一些博客建议 num_tokens 的值为 32。我们是否看到 256 num_tokens 有任何性能问题,或者我们可以使用 16 或 32 这样的值。我们如何确定最优值?请提出建议。

num_tokens等值对写入没有影响。具有较大 num_tokens 值的大部分问题与操作维护(修复)和阅读时的扫描问题有关。发现高 num_token 值会产生热点,更多的分区范围也会增加修复时间。在 Cassandra 4.0 版本中,社区已将 num_tokens 的默认值从 256 减少到 16。可以看到JIRA here.

您可以试验 num_tokens 的较低值。不要忘记使用 allocate_tokens_for_keyspace(Cassandra Documentation