Choosing a geo-replication deployment pattern#

geoレプリケーションを構成する前に、展開パターンを決定します。選択は、ルーティングの構成方法、ロケーション障害時のクラスターの動作、および操作の複雑さの程度に影響を与えます。

各パターンの完全な説明は Deployment patterns にあります。このページでは、特にジオレプリケーションに重要な決定事項について説明します。

アクティブな書き込み場所の数の決定#

アクティブな書き込み場所の数は、最も基本的な決定です。アクティブな書き込み場所が多いということは、各リージョンのユーザーの書き込みレイテンシが低いことを意味しますが、クロスリージョンの書き込み競合は避けられず、競合の解決はアプリケーションデザインの一部である必要があります。

PGDは、Raftコンセンサスアルゴリズムを使用して、書き込みリーダーの選択やDDL操作の実行など、ノード全体の決定を調整します。 Raftは、これらの決定を行う前に、クォーラムノードの大部分を利用できる必要があります。地理分散クラスターでは、これは、アクティブなロケーションの数が、ロケーション障害中にクラスターがクォーラムを維持できるかどうかに直接影響を与えることを意味します。

  • 2つのアクティブな書き込み場所 最も単純なジオレプリケーションセットアップ。各ロケーションはローカルの読み取りと書き込みを提供しますが、1つのロケーションを失うとRaftマジョリティが破損し、ロケーションが復旧するまでDDLおよびグローバルシーケンスをブロックします。 3番目の場所に監視ノードを追加すると、3番目の完全なアクティブなロケーションのコストなしでこの制限が解決されます。関連するパターンは、 Two data groups, active-active とその監視バリアントです。

  • 3つ以上のアクティブな書き込み場所 1つの場所に障害が発生した場合でも、ナチュラルRaftマジョリティを維持し、クォーラムの懸念を排除します。トレードオフは、操作の複雑さです。関連する展開パターンは、機密データをオリジンリージョン内に留める必要があるバリアントの Three data groups, active-active-active および Multiple locations, data residency です。

ローカルルーティングとグローバルルーティングの選択#

PGDは、書き込みトラフィックの2つのルーティングモードをサポートしています。ノードグループの enable_routing 構成オプションを設定することにより、優先ルーティングモードを構成します。

  • ローカルルーティング 各場所には独自の書き込みリーダーがあり、書き込みをローカルにルーティングします。このアプローチでは、書き込み遅延が最小限に抑えられ、ほとんどの操作で各場所が独立して動作することを意味します。ただし、リージョンを超えた競合の可能性があり、2つのグループのみでロケーションを失うことは、グローバルコンセンサスを破ることです。

  • グローバルルーティング クラスター全体には、場所に関係なく単一の書き込みリーダーがあります。すべての書き込みトラフィックはそのリーダーにルーティングされ、他のリージョンからの書き込みのレイテンシーの追加と引き換えに、クロスリージョンの競合が排除されます。複数の場所が書き込みを受け入れることができる場合でも、グローバルルーティングは、これらの場所にわたる単一のリーダーへの書き込みを制限します。このモードは、3つ以上のアクティブな書き込み場所、または監視場所を持つ2つのデータグループで動作します。プライマリロケーションに障害が発生した場合、残りの2つのロケーションはまだRaftマジョリティを持っており、新しい書き込みリーダーを選択できます。

構成手順については、 ルーティングしきい値の設定 を参照してください。

データ常駐要件の適用#

GDPR、CCPA、および各国のデータローカライゼーション法などの規制では、個人データまたは機密データが元のリージョン内にとどまることが必要です。

データ常駐の適用は、 Multiple locations, data residency 展開パターンに組み込まれています。ローカルルーティングでは、各リージョンのサブグループに独自の書き込みリーダーがあり、アプリケーションはローカルエンドポイントに接続するため、機密データはデフォルトでリージョン内に残ります。クロスリージョンレプリケーションは選択的です。グローバル参照データ製品カタログ、構成、匿名化された分析のみがグループ間でレプリケートされます。個人データ、財務記録、およびその他の規制データは、元のグループにローカルなままです。

ローカルデータとグローバルデータを明確に分離するようにスキーマをデザインし、常にリージョンデータを正しいローカルエンドポイントに書き込むようにアプリケーションを構成する必要があります。

比較#

各ジオレプリケーション展開パターンは、クォーラム復元力、ルーティングオプション、競合処理、およびデータの常駐性にわたってさまざまなトレードオフを行います。