哪种Cassandra分区器更好:Random或Murmur3(就吞吐量而言),它们之间的区别是什么?

u7up0aaq  于 2022-09-27  发布在  Cassandra
关注(0)|答案(2)|浏览(172)

分区器的选择会给我的Cassandra吞吐量和延迟带来什么不同?我已经检查了所有三个分区程序,我注意到ByteOrdered分区程序有开销,所以我不使用它。现在我在RandomMurmur3分区器之间有点分裂。

kzipqqlq

kzipqqlq1#

两者之间的主要区别在于各自如何生成令牌哈希值。Random partitioner使用JDK本机MD5哈希(因为它对开发人员来说很方便,而且在所有JDK中都是标准的)。但由于Cassandra确实不需要加密散列,因此该函数花费的时间比所需的要长得多。
使用Murmur3分区器,令牌哈希只做Cassandra需要它做的事情。这是为了生成一个令牌,确保在节点之间均匀分布。这导致令牌哈希性能提高了3到5倍,最终转化为Carlo上面提到的总体10%的增益。
还应注意,DataStax警告分区器不兼容。这意味着,一旦开始使用一个分区器,就无法(轻松地)转换到另一个分区。因此,我会选择更新、稍快的Murmur3分区器。

vsdwdz23

vsdwdz232#

新的默认分区器是杂音3。它应该比无负面影响的随机分区器提供大约10%的性能增强

相关问题