cassandra分区:表中分区键的冲突

stszievb  于 2021-06-15  发布在  Cassandra
关注(0)|答案(0)|浏览(288)

我们知道Cassandra的节点持有代币。所以在一个4节点集群中,假设node1是25,node2是50,node3是75,node4是100。这也意味着node1负责范围0-25。现在这意味着,如果任何分区键的哈希结果是一个令牌值,比如说3,那么带有该分区键的记录将转到node1。所以令牌基本上决定了数据的位置。现在,在表t1中,您有一个主键((col1),col2),其中定义了分区键col1和集群列col2,有没有可能有两个记录具有不同的分区键值(注意:分区键值列是相同的col1,但是两个记录的值不同,比如v1和v2),但是当对它们进行哈希运算时,结果是相同的令牌,因此是相同的节点,但有两个不同的分区?简言之,表t1中的分区键col1的两个分区键值v1和v2(当然来自两个记录)是否具有相同的散列值,即token(因此显然是相同的节点但有两个不同的分区)?反过来说,可以从同一分区键列的两个不同值中得到一个令牌吗?如果是,那么我们是否可以推断分区键值与令牌之间的比率为n:1以及node:token is 1:n?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题