グローバルデータベースネットワーク (GDN) は、さまざまなリージョンに分散された複数の PolarDB クラスタで構成されるネットワークです。このネットワークでは、すべてのクラスタデータが同期された状態に保たれ、各クラスタは読み取りサービスを提供できます (書き込みリクエストはプライマリクラスタに転送されて処理されます)。
GDN を活用することで、以下のシナリオを実現できます。
リージョンをまたがるデプロイメント (アクティブ地理的冗長性)
複数のリージョンにサービスをデプロイします。 GDN のリージョン間低レイテンシ同期、リージョン間読み取り/書き込み分割、および近接読み取り機能により、各リージョンのアプリケーションは 2 秒未満のデータベースアクセスレイテンシを実現できます。
GDN を通じてリージョン間高可用性を実現し、データセキュリティとシステム可用性を向上させます。プライマリクラスタが配置されているデータセンターまたはマシンルームに障害が発生した場合、サービスをセカンダリクラスタに手動で切り替えるだけで、操作を迅速に復旧できます。 GDN は、2 リージョン 3 データセンター、2 リージョン 4 データセンター、3 リージョン 6 データセンターのセットアップなど、さまざまなアーキテクチャをサポートしています。
説明GDN のプライマリクラスタとセカンダリクラスタ間の切り替えは、10 分以内に完了できます (実際のテスト結果は 5 分以内)。切り替え中は、160 秒を超えない短い接続中断が発生する可能性があります。オフピーク時に切り替え操作を実行し、アプリケーションに再接続メカニズムがあることを確認することをお勧めします。
リクエストルーティング
GDN 内の各クラスタに対する読み取りおよび書き込みリクエストは、各クラスタの データベースプロキシ構成 に基づいてルーティングされます。次に例を示します。
[読み取りと書き込みのリクエストの両方] を処理するように エンドポイント B が構成されており、[プライマリノードが読み取りリクエストを受け入れる] 場合、読み取りリクエストはプライマリクラスタのプライマリノードにルーティングされ、リクエストレイテンシが高くなる可能性があります。
エンドポイント C が [読み取り専用] として構成されている場合、読み取りリクエストはセカンダリクラスタの読み取り専用ノードのみにルーティングされ、プライマリまたはセカンダリクラスタのプライマリノードにはルーティングされません。
セカンダリクラスタのエンドポイントが [読み取りと書き込みのリクエストの両方] を処理するように構成されている場合、書き込みリクエストとその他のブロードキャスト文 ( SET
文など) はプライマリクラスタのプライマリノードにルーティングされます。さらに、セッション整合性 が有効になっている場合、読み取りリクエストもプライマリクラスタのプライマリノードにルーティングされる場合があります。
メリット
リージョンをまたがるデプロイメント: ビジネスコードを変更することなく、同一都市デプロイメントから複数リージョンデプロイメントに直接拡張できます。
リージョン間の読み書き分離と近接データ読み取り: GDN クラスターは、読み取りリクエストと書き込みリクエストの両方を処理できます。 読み取りリクエストは同一リージョン内のセカンダリクラスターに送信され、書き込みリクエストはプライマリークラスターに転送されます。
柔軟な構成: プライマリクラスタとセカンダリクラスタは、クラスタの仕様、ホワイトリスト、パラメータ値など、独立した構成を持っています。
リージョン間の低遅延同期: Redo ログに基づくマルチチャネル物理レプリケーションを通じて、プライマリクラスターとセカンダリクラスター間のリージョン間レプリケーション遅延を短縮します。すべてのクラスターでデータが同期された状態に保たれ、ネットワーク遅延が 2 秒以内に制御されることで、非中心リージョンからアクセスするアプリケーションの読み取り遅延が大幅に削減されます。
サポートされているリージョンとクラスタ
リージョン: 中国本土内のリージョン、中国 (香港) リージョン、中国国外のリージョンなど、世界中の 10 を超えるリージョンをカバーしています。詳細については、「プライマリクラスタとセカンダリクラスタ間のリージョンマッピング」をご参照ください。
クラスタ:
[データベースエディション] は [エンタープライズエディション] で、[エディション] は [クラスタエディション] です。
[エンジンバージョン] は、次のいずれかである必要があります。
MySQL 8.0.2。
マイナーエンジンバージョン 8.0.1.1.17 以降の MySQL 8.0.1。
マイナーエンジンバージョン 5.7.1.0.21 以降の MySQL 5.7。
マイナーエンジンバージョン 5.6.1.0.32 以降の MySQL 5.6。
その他の制限:
GDN は、1 つのプライマリクラスタと最大 4 つのセカンダリクラスタで構成されます。
説明セカンダリクラスタを追加するには、クォータセンター にアクセスし、クォータ ID
polardb_mysql_gdn_region
に基づいてクォータ項目を見つけ、[適用] 列の [アクション] をクリックします。プライマリクラスタとセカンダリクラスタは、同じデータベースエンジンバージョンを使用する必要があります。サポートされているバージョンは、MySQL 8.0、MySQL 5.7、および MySQL 5.6 です。
クラスタは 1 つの GDN のみに属します。
GDN 内のクラスタは、サーバーレスクラスタ または サーバーレス機能が有効になっている定義済み仕様のクラスタ にすることができます。ただし、プライマリクラスタの データベースエンジン バージョンが以下の条件を満たしている場合、GDN 内のすべてのクラスタに少なくとも 1 つの読み取り専用ノードが必要です。
リビジョンバージョン 8.0.1.1.42 以降の PolarDB for MySQL 8.0.1。
リビジョンバージョン 8.0.2.2.23 以降の PolarDB for MySQL 8.0.2。
GDN 内の非 サーバーレス セカンダリクラスタの場合、各コンピューティングノードには少なくとも 4 つの CPU コアが必要です。
GDN 内のクラスタは、データベースとテーブルの復元機能をサポートしていません。
グローバルデータベースネットワーク (GDN) 内のクラスタは、インメモリ列インデックス (IMCI) 機能をサポートしています。ただし、読み取り専用カラムノードを追加するには、
loose_polar_enable_imci_with_standby
クラスタパラメータを有効にする必要があり、クラスタバージョンは次のいずれかの条件を満たしている必要があります。リビジョンバージョン 8.0.1.1.48 以降の MySQL 8.0.1。
リビジョンバージョン 8.0.2.2.27 以降の MySQL 8.0.2。
料金
現在、GDN のリージョン間転送トラフィックは無料です。 GDN 内の各 PolarDB クラスタの個々のコストのみを支払う必要があります。詳細については、「請求」をご参照ください。
はじめに
セカンダリクラスタを追加する: PolarDB 購入ページ にアクセスして、作成した GDN のセカンダリクラスタを作成します。
説明新しいクラスタをセカンダリクラスタとして作成する必要があります。既存のクラスタをセカンダリクラスタとして追加することはできません。
GDN に接続する: GDN では、各クラスタ (プライマリとセカンダリ) が個別のクラスタエンドポイントを提供します。アプリケーションに最も近いリージョンにデプロイされているクラスタのエンドポイントに接続できます。さらに、GDN は グローバルドメイン名 機能を提供します。この機能を使用すると、最も近いクラスタにアクセスし、プライマリクラスタの切り替え後もドメイン名を変更せずに維持できます。
プライマリクラスタとセカンダリクラスタ間のリージョンマッピング
プライマリクラスタのリージョン | セカンダリクラスタのリージョン |
中国本土のすべてのリージョン | プライマリクラスタと同じリージョン、またはプライマリクラスタがデプロイされているリージョン以外の中国本土のリージョン。 たとえば、プライマリクラスタが中国 (杭州) リージョンにある場合、セカンダリクラスタは中国 (杭州) リージョンまたは中国本土の他のリージョンに配置できます。 説明 他のリージョンにセカンダリクラスタをデプロイする場合は、お問い合わせ ください。 |
中国本土以外のリージョン | 中国 (香港)、日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、英国 (ロンドン)。 |
中国本土以外のリージョンの場合、セカンダリクラスタを作成する前に、PolarDB 国境を越えたデータ転送コンプライアンスに関するコミットメント に署名する必要があります。