1

レプリケーションを使用する場合、コミットログを無効にしても安全ですか?ノードに障害が発生した場合、それは多くの場合ハードディスクの障害が原因であるため、そのコミットログでは耐久性には役立ちませんが、レプリケーションには役立ちます。レプリケーションを使用するときにコミットログが必要なのはなぜですか?

4

1 に答える 1

1

コミット ログがない場合、レプリカの memtables に格納されたデータがディスクに書き込まれるまでに長い時間がかかる場合があります (無制限の場合もありますが、実際には数分かかる場合が多い)。これは、そのウィンドウ内で書き込みが失われる可能性があることを意味します。たとえば、データ センターの電源が失われた場合、すべてのレプリカで最後の数分間のすべての書き込みが失われる可能性があります。コミット ログは (デフォルトでは) 10 秒ごとに同期されるため、同時障害が発生した場合に失われるデータは最大で 10 秒です。

ただし、マルチデータ センター レプリケーションを使用している場合、データを失うには、データ センター間で同時に障害が発生する必要があります。

これはトレードオフです。レプリケーションのないコミット ログは、単一ノードのクラッシュや非破壊的な障害を防ぎます。単一の DC でのレプリケーションにより、電源障害などの DC 全体の障害から保護されます。マルチ DC でのレプリケーションにより、相関する障害から保護されます。コミット ログを有効にするコストと最近の書き込みを失うコストに基づいて、必要な回復力の程度を決定できます。

于 2013-03-01T14:10:34.563 に答える