我刚刚开始阅读有关Cassandra的内容,我无法理解Cassandra如何决定将数据写入哪些节点。
我理解的是,Cassandra使用主键的一部分,特别是分区键和分区器来通过散列分区键来获取令牌,因此该令牌绑定到的节点/ vnode。 现在让我们说我的集群中有2个节点,每个节点上有256个节点+我没有使用任何集群键,只是一个简单的PK和一堆简单的列。散列分区键可以清楚地确定数据的去向。通过这种逻辑,只有512个唯一记录可用于存储。 如果是真的会很有趣。我在分区器部分错了吗?
答案 0 :(得分:1)
考虑基本情况:只有一个节点,只有一个令牌。你认为它可以故事只有一个记录吗?当然不是。
哈希确定该行将转到哪个节点,为true。但主键确定行将存储在节点中的哪个位置。许多不同的主键可能会产生相同的哈希值,但它们都将由节点分别存储。