読み取りリペア:読み取りパス中のリペア

読み取りリペア、読み取りパス中のリペアの説明。

読み取りリペアは、読み取り要求でDataStax Enterpriseクラスター内の整合性を改善します。

読み取りでは、コーディネーター・ノードは1つのレプリカ・ノードにデータ要求を送信し、他のノードにONEより大きい整合性レベル(CL)の要求をダイジェストします。すべてのノードが整合性のあるデータを返すと、コーディネーターはそのデータをクライアントに返します。データベースがレプリカ間の不整合をどのように処理するかについては、「読み取り要求はどのように実行されるか」を参照してください。

読み取りリペアでは、データベースは、読み取りに直接関与しない各レプリカにダイジェスト要求を送信します。データベースはすべてのレプリカを比較し、最新バージョンを持っていないレプリカ・ノードに最新バージョンを書き込みます。クエリーの整合性レベルONEより大きい場合、データベースは、データがクライアントに返される前に、フォアグラウンドのすべてのレプリカ・ノードでこのプロセスを実行します。読み取りリペアは、読み取りによってクエリーされたすべてのノードをリペアします。これは、整合性レベルがONEまたはANYの場合、比較されないため、データがリペアされないことを意味します。QUORUMの場合は、すべてのノードではなく、クエリーが到達するノードのみがリペアされます。

DTCSコンパクションで使用されるタイムスタンプのチェック方法のため、DateTieredCompactionStrategy(廃止予定)を使用するテーブルでは、読み取りリペアを実行できません。テーブルでDateTieredCompactionStrategyを使用する場合は、read_repair_chanceを0に設定します。他のコンパクション・ストラテジでは、read_repair_chanceは通常、0.2の値に設定されます。