iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Software Development

ScyllaDB實作紀錄系列 第 4

Day4 High Availability - Consistency Level

昨天提到Consistency Level的設定可以決定一致性的強度,而且是由Client端發出request時決定要用何種選項。
這樣表示執行語法的時候都可以用不一樣的CL,選擇怎樣的CL強度取決於所需要的資料的特性。
可設定的選項如下:

  • ANY:表示寫入時,至少有一份複寫成功,讀取時亦然。這個設定提供了最低的一致性,但是最終資料仍會一致。

  • QUORUM:表示不論是幾個datacenter,當讀取或寫入時,至少要有過半的複寫回應成功,過半的公式為當RF=3 則過半為(3/2+1)無條件捨去得到2。

  • **ONE:表示表示不論是幾個datacenter,只要有一台複寫回應就成功。

  • LOCAL_ONE:表示在同一個data center裡只要有一台複寫回應就算成功。

  • LOCAL_QUORUM:表示在同一個datacenter裡只要有過半複寫回應就算成功。

  • EACH_QUORUM:表示每一個datacenter都要有過半的複寫回應,假設現在有DC1與DC2,RF皆等於3,那至少需要3*2/2+1,4個複寫回應才算成功,但是這4個複寫必須是DC1跟DC2各兩個。

  • ALL:全部的複寫都必須回應,能達到最高的一致性但是也犧牲最多的可用性。


上一篇
Day3 High Availability - Replication Factory
下一篇
Day5 Architecture(一)- Node
系列文
ScyllaDB實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言