Nosql

Cassandra 中的數據複製

  • August 15, 2018

我們在 Cassandra 中有一個 5 節點集群,我們在其中創建了一個 RF=3 的密鑰空間。

在我們將數據插入同一列時創建列族(表)後,即使 RF = 3,它也會在所有 5 個節點中複製。

數據不應該只複製到 3 個節點,因此可以在 3 個節點而不是所有 5 個節點中訪問嗎?

此外,我們使用了 vnode。

也許我誤解了您的問題,但是當您將數據寫入集群時,主鍵使用 Murmur3 分區器(通常)進行散列,然後將數據寫入負責該散列範圍的節點,這可能是任何您的 5 個節點之一。

此外,您的數據也同時被寫入其他 2 個節點,總共 3 個數據副本分佈在集群中。當你這樣做時,nodetool status some-column-family你應該看到每個節點負責(3 個副本/5 個節點)60% 的數據。

查詢讀取哪個節點並不重要,因為所有節點都是平等的,並且任何節點都可以充當協調器來收集結果以傳回客戶端。

希望這能回答您的問題或為您指明正確的方向。

引用自:https://dba.stackexchange.com/questions/214657