受信確認ベースの永続性ポリシーの設定

マスター・ノードが書込み操作(作成、更新、削除)を行う場合、その操作を各レプリカ・ノードに送信する必要があります。レプリカ・ノードは書込み操作をローカル・データベースに適用し、レプリカとマスター・ノードとの整合性がとられます。

書込み操作のローカル・データベースへの適用に成功すると、プライマリ・ゾーン内のレプリカは受信確認メッセージをマスター・ノードに返します。このメッセージは、書込み操作が受信され、レプリカのローカル・データベースに正常に適用されたことを単に示します。セカンダリ・ゾーン内のレプリカは、これらの受信確認メッセージを送信しません。

注意:

セカンダリ・ゾーン内のレプリカは例外であり、書込み操作の受信確認を行うことはありません。

受信確認ベースの永続性ポリシーは、マスター・ノードがこの受信確認を待って、書込み操作が正常に完了したとみなすかどうかを示します。受信確認を待たない、プライマリ・ゾーン内の過半数のレプリカ・ノードからの受信確認を待つ、プライマリ・ゾーン内のすべてのレプリカ・ノードからの受信確認を待つのいずれかをマスター・ノードに求めることができます。

マスターが必要とする受信確認が増えるほど、書込み操作のパフォーマンスは低下します。受信確認を待つということは、書込みメッセージがマスターからレプリカへ伝送され、レプリカで書込み操作が実行されて(これはディスクI/Oを意味します)、受信確認メッセージがレプリカからマスターへ返されるのを待つということです。コンピュータ・アプリケーションの観点からは、これには時間がかかります。

受信確認ベースの永続性ポリシーを設定する場合、次のものからの受信確認を求めることができます。

  • すべてのレプリカ。つまり、プライマリ・ゾーン内のシャードにあるすべてのレプリカ・ノードです。ストアには複数のシャードがある場合があることに注意してください。つまり、マスター・ノードは、ストア内のすべてのマシンからの受信確認を待つわけではありません。

  • ゼロ(0)レプリカ。この場合、同期ベースの永続性ポリシーを満たすとすぐに、マスターは正常ステータスで書込み操作から復帰します。これは、次の項で説明します。

  • プライマリ・ゾーン内のレプリカの過半数。つまり、プライマリ・ゾーン内のシャードに5つのレプリカ・ノードがある場合、マスターは、3つのノードからの受信確認を待ちます。