すべてのプロダクト
Search
ドキュメントセンター

PolarDB:グローバルデータベースネットワーク (GDN)

最終更新日:Nov 05, 2025

グローバルデータベースネットワーク (GDN) は、異なるリージョンに分散された複数の PolarDB クラスターのネットワークです。GDN では、すべてのクラスター間でデータが同期されます。各クラスターは読み取りリクエストを処理でき、書き込みリクエストは処理のためにプライマリクラスターに転送されます。

概要

グローバルデータベースネットワーク (GDN) は、1 つのプライマリクラスターと複数のセカンダリクラスターで構成されます。プライマリクラスターは書き込みリクエストを処理し、セカンダリクラスターは異なるリージョンに分散されてローカルの読み取りリクエストを処理します。以下は、低レイテンシーのリンクを介してすべてのクラスター間でデータが同期され、単一の論理データベースを形成する例です:

データ同期メカニズム

GDN は、クロスリージョンデータ同期に非同期物理レプリケーションを活用します。並列物理ログ再生などの技術により、プライマリクラスターとセカンダリクラスター間のレプリケーションの遅延を 2 秒以内に抑えることができます。この同期方法は、プライマリクラスターのパフォーマンスや安定性に影響を与えることなく、グローバルなデータの最終的な整合性を保証します。GDN 内の各クラスターは、読み取りおよび書き込みサービスを提供し、ジオディザスタリカバリをサポートします。

読み書き分離とリクエストルーティング

GDN 内のクラスターへの読み取りおよび書き込みリクエストのルーティングは、各クラスターの データベースプロキシ設定 によって決定されます。アプリケーションのコード変更は不要です。適切なクラスターのエンドポイントに接続するだけで、リクエストは次のロジックに基づいて自動的にルーティングされます:

  • 書き込みリクエスト (INSERTUPDATEDELETE 文など)、SET 文などの他のブロードキャスト構文、およびトランザクション内のすべてのリクエストは、処理のためにプライマリクラスターのプライマリノードに自動的に転送されます。

  • 読み取りリクエストは、デフォルトで最も近いアクセスを実現するために、ローカルセカンダリクラスターの読み取り専用ノードにルーティングされます。セッションの一貫性 が有効になっている場合、データ整合性を確保するために、一部の読み取りリクエストもプライマリクラスターのプライマリノードにルーティングされることがあります。

GDN は グローバルドメイン名 も提供します。この機能は、最も近いアクセスを可能にするだけでなく、プライマリクラスターのスイッチオーバー後もドメイン名が変わらないことを保証します。

詳細なルーティングロジックを表示するにはクリックしてください

宛先ノード

転送されるリクエスト

プライマリクラスターのプライマリノードにのみ転送

  • INSERTUPDATEDELETESELECT FOR UPDATE などのすべての DML 操作。

  • テーブルやデータベースの作成、削除、変更、権限管理など、すべての DDL 操作。

  • トランザクション内のすべてのリクエスト。

  • ユーザー定義関数。

  • ストアドプロシージャ。

  • EXECUTE 文。

  • Multi Statements

  • 一時テーブルを使用するリクエスト。

  • SELECT last_insert_id()

  • ユーザー変数に対するすべてのクエリと変更。

  • SHOW PROCESSLIST

  • KILL (コマンドではなく文)。

読み取り専用ノードまたはプライマリノードに転送

説明

リクエストは、データベースプロキシ設定で [プライマリノードは読み取りリクエストを受け入れます][はい] に設定されている場合にのみ、プライマリノードに送信されます。

  • トランザクション外の読み取りリクエスト。

  • COM_STMT_EXECUTE コマンド。

常にすべてのノードに転送

  • システム変数に対するすべての変更。

  • USE コマンド。

  • COM_STMT_PREPARE コマンド。

  • COM_CHANGE_USERCOM_QUITCOM_SET_OPTION などのコマンド。

説明

セカンダリクラスターのプライマリノードは、主にプライマリクラスターからの非同期データレプリケーションに使用され、読み取りまたは書き込みリクエストを処理しません。したがって、テーブル内のプライマリノードはプライマリクラスターのプライマリノードを指し、読み取り専用ノードはセカンダリクラスターの読み取り専用ノードを指します。

ユースケース

アクティブ地理的冗長性 (マルチリージョンデプロイメント)

サービスを複数のリージョンにデプロイできます。低レイテンシーのクロスリージョン同期、クロスリージョンの読み書き分離、最も近いアクセスなどの GDN の機能により、各リージョンのアプリケーションは 2 秒未満のデータベースアクセスレイテンシーを実現できます。

  • 代表的な業界: ゲーム、越境 e コマース、ローカルサービス (フードデリバリー)、およびニューリテール (アウトレット)。

  • ビジネスアーキテクチャ:

    • 各リージョンのアプリケーションは、最適なパフォーマンスを得るために、ローカルデータベースから直接読み取りおよび書き込みを行います。書き込みリクエストは、処理のためにプライマリクラスターに転送されます。

    • GDN では、プライマリクラスターとセカンダリクラスターを含む各クラスターが、独立したクラスターエンドポイントを提供します。アプリケーションのリージョンに基づいて、最も近いクラスターのエンドポイントに接続してデータベースにアクセスできます。

    • 北京と深センのセカンダリクラスターの仕様は、杭州のプライマリクラスターの仕様以上である必要があります。最良の結果を得るには、同じ仕様を使用してください。

ジオディザスタリカバリ

GDN を使用してクロスリージョンの高可用性を実現し、データセキュリティとシステムの可用性を向上させることができます。プライマリクラスターが配置されているデータセンターで障害が発生した場合、セカンダリクラスターに手動で切り替えることで、サービスを迅速に復旧できます。GDN は、2 リージョン 3 データセンターアーキテクチャなど、さまざまなアーキテクチャをサポートしています。

  • 代表的な業界: 銀行、証券、保険。

  • ビジネスアーキテクチャ (例: 2 リージョン 3 データセンターアーキテクチャ):

    • 北京リージョンはプライマリリージョンであり、AZ1 と AZ2 をカバーするデュアルゾーンデプロイメントを使用します。

    • 上海リージョンはディザスタリカバリージョンであり、シングルゾーンデプロイメントを使用します。

    • デフォルトでは、アプリケーションは北京リージョンの AZ1 のデータベースでローカルの読み取りと書き込みを実行します。AZ1 で障害が発生した場合、システムはまず北京の AZ2 に切り替わります。AZ1 と AZ2 の両方で障害が発生した場合、システムは上海の AZ3 に切り替わります。

説明

GDN でのプライマリ/セカンダリのスイッチオーバーは通常 5 分未満で完了しますが、最大 10 分かかる場合があります。スイッチオーバー中、最大 160 秒の一時的な接続中断が発生する可能性があります。オフピーク時にスイッチオーバーを実行し、アプリケーションに再接続メカニズムがあることを確認することをお勧めします。

メリット

  • クロスリージョンデプロイメント: アプリケーションコードを変更することなく、単一都市のデプロイメントからマルチリージョンのデプロイメントに拡張できます。

  • クロスリージョンの読み書き分離と最も近いアクセス: GDN 内の読み取りリクエストは、現在のリージョンのセカンダリクラスターに直接送信されます。書き込みリクエストはプライマリクラスターに転送されます。

  • 柔軟な構成: プライマリクラスターとセカンダリクラスターは、クラスター仕様、ホワイトリスト、パラメーター値など、独立した構成を持ちます。

  • 低レイテンシーのクロスリージョン同期: Redo Log に基づく非同期物理レプリケーションと並列再生技術により、プライマリクラスターとセカンダリクラスター間のクロスリージョンレプリケーションの遅延は 2 秒未満に抑えられます。これにより、中央以外のリージョンからデータにアクセスするアプリケーションの読み取りレイテンシーが大幅に削減されます。

範囲

クラスター構成

  • エディション: Enterprise Edition、シリーズは Cluster Edition である必要があります。

  • データベースエンジンのバージョンは、次のいずれかである必要があります:

    • MySQL 8.0.2

    • MySQL 8.0.1、マイナーエンジンバージョン 8.0.1.1.17 以降。

    • MySQL 5.7、マイナーエンジンバージョン 5.7.1.0.21 以降。

    • MySQL 5.6、マイナーエンジンバージョン 5.6.1.0.32 以降。

  • ノード: 少なくとも 1 つの読み取り専用ノードを含める必要があります。

サポートされるリージョン

中国本土のすべてのリージョン、中国 (香港)、日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、英国 (ロンドン)。

説明

セカンダリクラスターを国境を越えてデプロイできますが、リクエストを送信する必要があります。詳細については、「セカンダリクラスターの追加」をご参照ください。

機能制限

  • グローバルデータベースネットワーク (GDN) 内のクラスターは、インメモリ列インデックス (IMCI) 機能をサポートします。ただし、読み取り専用の列ストアノードを追加する前に、loose_polar_enable_imci_with_standby クラスターパラメーターを有効にする必要があります。クラスターのバージョンも、次の要件のいずれかを満たす必要があります:

    • MySQL 8.0.1、リビジョンバージョン 8.0.1.1.48 以降。

    • MySQL 8.0.2、リビジョンバージョン 8.0.2.2.27 以降。

  • GDN 内のクラスターは、サーバーレスクラスター または サーバーレス機能が有効になっている定義済み仕様のクラスター にすることができます。ただし、プライマリクラスターのマイナーエンジンバージョンが次のバージョンより前の場合、GDN 内のすべてのクラスターには少なくとも 1 つの読み取り専用ノードが必要です:

    • MySQL 8.0.1、マイナーエンジンバージョン 8.0.1.1.42 より前。

    • MySQL 8.0.2、マイナーエンジンバージョン 8.0.2.2.23 より前。

  • GDN 内のクラスターは、データベース・テーブルの復元機能をサポートしていません。

その他の制限

  • GDN は、1 つのプライマリクラスターと最大 4 つのセカンダリクラスターで構成されます。

    説明

    セカンダリクラスターをさらに追加するには、Quota Center に移動し、クォータ ID polardb_mysql_gdn_region に基づいてクォータ項目を見つけ、[アクション] 列の [適用] をクリックします。

  • 1 つのクラスターは 1 つの GDN にのみ属することができます。

  • セカンダリクラスターとして新しいクラスターのみを作成できます。既存のクラスターをセカンダリクラスターとして追加することはできません。

  • プライマリクラスターとセカンダリクラスターは、同じデータベースエンジンバージョン (MySQL 8.0、MySQL 5.7、または MySQL 5.6) を使用する必要があります。

  • サーバーレスクラスター ではない GDN 内のセカンダリクラスターの場合、各計算ノードには少なくとも 4 つの CPU コアが必要です。

  • デフォルトでは、GDN 内の各クラスターには 2 つのノードが含まれています。最大 16 ノードまで追加できます。

料金

GDN を使用する場合、クラスター とリージョン間のデータ転送料金が課金されます。データ転送料金は、転送が国境を越えるかどうかによって異なります。

  • 国境を越えないデータ転送 (無料)

    • シナリオ: プライマリクラスターとセカンダリクラスターの両方が中国本土外のリージョンにデプロイされているか、両方が中国本土内のリージョンにデプロイされている。

    • 課金ルール: 無料。

  • 国境を越えるデータ転送 (課金対象)

    重要

    国境を越えるデータ転送料金は、2026 年 1 月 1 日 00:00 (シンガポール時間) から課金されます。この日付より前は、このサービスは無料です。

    • シナリオ: クラスター (プライマリまたはセカンダリ) のいずれかが中国本土外のリージョンにデプロイされ、もう一方が中国本土のリージョンにデプロイされている。

    • 課金ルール: 0.80 米ドル/GB、時間単位で課金されます。料金は、1 時間以内にプライマリクラスターから国境を越えるセカンダリクラスターに物理的にレプリケートされた Redo Log データの量に基づいて計算されます。このトラフィック料金は、ログシーケンス番号 (LSN) から変換された物理的な位置をクエリすることで見積もることができます。

      課金例を表示するにはクリックしてください

      たとえば、09:00 にログの物理書き込み位置をクエリすると ib_logfile1/648143676 になります。10:00 には、位置は ib_logfile3/648142342 に更新されます。これは、この 1 時間に書き込まれたデータ量が、2 つの位置の差であることを示します。

      1. 開始ファイル (ib_logfile1) への書き込み量:
        合計ファイルサイズから開始オフセットを引きます。各ログファイルは 1 GB (1,073,741,824 バイト) です。書き込み量は 1073741824 - 648143676 = 425598148 バイトです。

      2. 中間ファイル (ib_logfile2) への書き込み量:
        ib_logfile1 がいっぱいになると、システムは ib_logfile2 を完全に書き込みます。この量は 1,073,741,824 バイト (1 GB) です。

      3. 終了ファイル (ib_logfile3) への書き込み量:
        これは終了時のオフセットで、648142342 バイトです。

      したがって、書き込まれた合計量 = 425598148 + 1073741824 + 648142342 = 2147482314 バイト。これは 2147482314 / 1024 / 1024 / 1024 = 1.999998 GB (小数点以下 6 桁で切り捨て) です。この 1 時間の国境を越えるデータ転送料金は、約 1.999998 GB × 0.80 米ドル/GB = 1.5999984 米ドル です。

      ログ書き込みの進行状況と物理ファイルオフセットのクエリ

      -- ログシステムの現在の書き込み進行状況をクエリします。
      SHOW STATUS LIKE 'Innodb_log_write_lsn'; 
      +----------------------+------------+
      | Variable_name        | Value      |
      +----------------------+------------+
      | Innodb_log_write_lsn | 1721889596 |
      +----------------------+------------+
      
      -- 物理ファイルオフセットをバイト単位でクエリします。
      SELECT lsn_to_pos(1721889596); 
      +------------------------+
      | lsn_to_pos(1721889596) |
      +------------------------+
      | ib_logfile1/648143676  |
      +------------------------+
説明

グローバルドメイン名機能を使用する場合、内部 DNS 解決 およびリージョン間のデータ転送に追加料金が発生します。詳細については、「グローバルドメイン名の料金」をご参照ください。

使用開始

  1. グローバルデータベースネットワークの作成と管理: 要件 を満たすクラスターを GDN のプライマリクラスターとして選択します。

  2. セカンダリクラスターの追加: PolarDB 購入ページ に移動して、作成した GDN にセカンダリクラスターを追加します。

  3. グローバルデータベースネットワークへの接続: GDN では、各クラスター (プライマリおよびセカンダリ) が独立したクラスターエンドポイントを提供します。アプリケーションのリージョンに基づいて、最も近いクラスターのエンドポイントに接続できます。GDN は グローバルドメイン名 も提供します。この機能は、最も近いアクセスを可能にするだけでなく、プライマリクラスターのスイッチオーバー後もドメイン名が変わらないことを保証します。