讀取修復(三)

讀取修復:在讀取路徑期間修復

讀取修復可以提高每個讀取請求在Cassandra集羣的一致性。

在讀取中,協調器節點向一個副本節點發送數據請求,並將請求消化到其他一致性級別(CL)以上的請求ONE。如果所有節點都返回一致的數據,則協調器將其返回給客戶端。有關Cassandra如何處理副本之間不一致的說明,請參閱如何完成讀取請求?。

在讀取修復中,Cassandra發送一個摘要請求給每個不直接涉及讀取的副本。Cassandra比較所有副本,並將最新版本寫入任何沒有它的副本節點。如果查詢的一致性級別 高於ONECassandra,那麼在數據返回給客戶端之前,Cassandra會在前臺的所有副本節點上執行此過程。讀取修復修復由讀取查詢的任何節點。這意味着對於一致性級別來說 ONE,沒有數據被修復,因爲沒有進行比較。因爲QUORUM只有查詢接觸的節點被修復,而不是所有的節點。

由於檢查DTCS壓縮中使用的時間戳的方法,無法在使用DateTieredCompactionStrategy的表上執行讀取修復。如果你的表使用DateTieredCompactionStrategy,設置read_repair_chance爲零。對於其他壓實策略, read_repair_chance通常設置爲0.2的值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章