2017-04-27 70 views
1

Cassandra每行都有一個主副本,並按照羣集配置將其複製到多個節點上。我想了解在行級別會導致數據衝突的情況,尤其是當每行只有一個主副本時。一些例子會有幫助。在Cassandra的行級別會導致數據衝突的情況是什麼?

+0

在寫入行方面沒有主複製區分。主鍵被散列以確定具有主要責任的節點,然後將數據同時發送到所有節點。取決於一致性級別,響應在1,仲裁或所有節點已答覆後發送到客戶端。 – LHWizard

回答

0

在Cassandra中沒有主副本的概念。根據主鍵和散列算法(random或mumur3)將每一行散列到令牌中,並且負責令牌的節點獲取數據的第一個副本。根據您的複製因子(份數),環中的其他節點將獲得其他副本。

如果您將RF設置爲1,則包含該數據的節點可能會關閉(損壞),您將無法檢索該數據。作爲最佳做法,您應該從RF = 3開始生產,並根據您的需求前進,更改RF。 1的RF可以用於測試目的。

希望有幫助!

相關問題