iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0

除了quorum 以外,consistency level (CL)還有其他的選擇。

ANY

至少要有一個以上的副本節點回應(其實跟下面的ONE很像)。

ONE

有一個副本節點回應,操作即完成。

LOCAL_ONE

在本地的datacenter,有一個副本節點回應,操作即完成。

LOCAL_QUORUM

在本地的data center,執行QUORUM的策略。

EACH_QUORUM

每一個data center,都是執行QUORUM策略,但這個設定不是給讀取使用,只用在指定寫入的處理策略。

ALL

無論讀或寫,一定要等到所有副本節點回應,操作才算完成,此策略提高一致性,但是大幅降低了可用性。


值得一提的是,無論採取什麼樣的CL,實際上寫入的數量還是依照RF設定的數量。例如策略是設定ONE,已經有一個節點完成的時候,就會通知操作完成,但是實際上看RF要寫入幾個副本,還是持續進行寫入副本的動作。

與client連線的節點,又稱coordinator(協調者),此時其他相對來說的副本節點,就叫做replica node

如下圖,coordinator不一定剛好會是要寫入或有目標的資料的節點,它的角色就是對其他replica node做處理。

如CL=1,RF=3的情況,只要有一個replica node回應給coordinator成功,那就算成功了。

但如果CL=Quorum,RF=3的情況,則需要2個replica node回應給coordinator成功,才算成功了。

為什麼是2個,不是3個,因為2個就過半了。


上一篇
Day 20. Quorum
下一篇
Day22. Memtable、Commit Log、SSTable
系列文
scylla 從零開始攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言