溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cassandra 讀寫一致性(Consistency)詳解

發布時間:2020-07-19 01:45:48 來源:網絡 閱讀:1917 作者:無鋒劍 欄目:大數據

Consistency

此命令顯示當前的一致性級別,或設置新的一致性級別。
Consistency可以理解讀和寫操作的Consistency Level
寫操作的consistency level指定了寫操作在通知客戶端請求成功之前,必須確保已經成功完成寫操作的replica的數量。

QUORUM級別

QUORUM級別確保數據寫到指定quorum數量的節點。一個quorum的值由下面的公式四舍五入計算而得:
(sum_of_replication_factors / 2) + 1
sum_of_replication_factors指每個數據中心的所有replication_factor設置的總和。

級別:ANY
寫操作:
描述: 任意一個節點寫操作已經成功。如果所有的replica節點都掛了,寫操作還是可以在記錄一個hinted handoff事件之后,返回成功。如果所有的replica節點都掛了,寫入的數據,在掛掉的replica節點恢復之前,讀不到。
用法: 最小的延時等待,并且確保寫請求不會失敗。相對于其他級別提供最低的一致性和最高的可用性。
級別:ALL
讀:
描述:向所有replica節點查詢數據,返回所有的replica返回的數據中,timestamp最新的數據。如果某個replica節點沒有響應,讀操作會失敗。
用法:相對于其他級別,提供最高的一致性和最低的可用性。
寫:
描述:寫操作必須將指定行的數據寫到所有replica節點的commit log和memtable。
用法:相對于其他級別提供最高的一致性和最低的可用性。
級別:EACH_QUORUM
讀:
描述:向每個數據中心內quorum數量的replica節點查詢數據,返回時間戳最新的數據。
用法:同LOCAL_QUORUM
寫:
描述:寫操作必須將指定行的數據寫到每個數據中心的quorum數量的replica節點的commit log和memtable。
用法:用于多數據中心集群嚴格的保證相同級別的一致性。例如,如果你希望,當一個數據中心掛掉了,或者不能滿足quorum數量的replica節點寫操作成功時,寫請求返回失敗。
級別:LOCAL_ONE
讀:
描述:返回本地數據中心內離coordinator節點最近的replica節點的數據。
用法:同寫操作Consistency level中該級別的用法。
寫:
描述:任何一個本地數據中心內的replica節點寫操作成功。
用法:對于多數據中心的情況,往往期望至少一個replica節點寫成功,但是,又不希望有任何跨數據中心的通信。LOCAL_ONE正好能滿足這樣的需求。
級別:LOCAL_QUORUM
讀:
描述:向每個數據中心內quorum數量的replica節點查詢數據,返回時間戳最新的數據。避免跨數據中心的通信。
用法:使用SimpleStrategy時會失敗。
寫:
描述:本地數據中心內quorum數量的replica節點寫操作成功。避免跨數據中心的通信。
用法:不能和SimpleStrategy一起使用。用于保證本地數據中心的數據一致性。
級別:LOCAL_SERIAL
讀:
描述:同SERIAL,但是只限制為本地數據中心。
用法:同SERIAL。
寫:
描述:本地數據中心內quorum數量的replica節點有條件地(conditionally)寫成功。
用法:用于輕量級事務(lightweight transaction)下實現linearizable consistency,避免發生無條件的(unconditional)更新。。
級別:ONE
讀:
描述:返回由snitch決定的最近的replica返回的結果。默認情況下,后臺會觸發read repair確保其他replica的數據一致。
用法:提供最高級別的可用性,但是返回的結果不一定最新。
寫:
描述:任意一個replica節點寫操作已經成功。    滿足大多數用戶的需求。
用法:一般離coordinator節點具體最近的replica節點優先執行。  
級別:QUORUM
讀:
描述:讀取所有數據中心中quorum數量的節點的結果,返回合并后timestamp最新的結果。 
用法:保證很強的一致性,雖然有可能讀取失敗。
級別:SERIAL
讀:
描述:允許讀取當前的(包括uncommitted的)數據,如果讀的過程中發現uncommitted的事務,則commit它。  
用法:輕量級事務。
級別:TWO
讀:  
描述:返回兩個最近的replica的最新數據。 
用法:和ONE類似。
級別:THREE
讀:
描述:返回三個最近的replica的最新數據。 
用法:和TWO類似。
參考地址:

https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html

注意:

即使指定了consistency level ON或LOCAL_QUORUM,寫操作還是會被發送給所有的replica節點,包括其他數據中心的里replica節點。consistency level只是決定了,通知客戶端請求成功之前,需要確保寫操作成功的replica節點的數量。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女