2017-04-27 69 views
1

Cassandra每行都有一个主副本,并按照群集配置将其复制到多个节点上。我想了解在行级别会导致数据冲突的情况,尤其是当每行只有一个主副本时。一些例子会有帮助。在Cassandra的行级别会导致数据冲突的情况是什么?

+0

在写入行方面没有主复制区分。主键被散列以确定具有主要责任的节点,然后将数据同时发送到所有节点。取决于一致性级别,响应在1,仲裁或所有节点已答复后发送到客户端。 – LHWizard

回答

0

在Cassandra中没有主副本的概念。根据主键和散列算法(random或mumur3)将每一行散列到令牌中,并且负责令牌的节点获取数据的第一个副本。根据您的复制因子(份数),环中的其他节点将获得其他副本。

如果您将RF设置为1,则包含该数据的节点可能会关闭(损坏),您将无法检索该数据。作为最佳做法,您应该从RF = 3开始生产,并根据您的需求前进,更改RF。 1的RF可以用于测试目的。

希望有帮助!

相关问题