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

PolarDB:マルチライト対応のグローバルデータベースネットワーク (GDN)

最終更新日:Mar 25, 2026

グローバルデータベースネットワーク (GDN) のベーシックエディションでは、セカンダリクラスターが書き込みリクエストをプライマリクラスターに転送します。このプロセスにより、クラスター間の物理的距離が離れている場合、書き込みレイテンシが著しく増加する可能性があります。マルチライト対応 GDN は、テーブル単位のマルチライトソリューションを提供し、各サブクラスターが自身に書き込み権限を持つテーブルに対してローカルに書き込みを行えるようにします。この設計により、読み取りおよび書き込みの両方で近接アクセスが可能となり、クロスリージョンの書き込みレイテンシを効果的に低減します。

説明

PolarDB のマルチライト対応 GDN は現在パブリックプレビュー中です。この機能をご利用になるには、DingTalk グループにご参加のうえ、アクセス権をご申請ください。

DingTalk グループ番号:30245017864

仕組み

マルチライト対応 GDN は PolarDB の物理レプリケーション技術を活用し、クロスリージョンデプロイメント向けにテーブル単位のマルチライト機能を提供します。そのコアメカニズムは以下のとおりです。

  • テーブル単位の書き込み権限所有:各テーブルの書き込み権限は、厳密に 1 つのサブクラスターに割り当てられます。これにより、任意の時点において、テーブルへの書き込みが可能なのは 1 つのサブクラスターのみとなります。

  • ローカル書き込み:各サブクラスターは、自身が書き込み権限を持つテーブルに対してローカルに書き込みを行うことができます。これにより、低レイテンシかつ高スループットでのデータ更新が実現されます。

  • グローバルなデータ同期:すべてのデータ変更は、高性能な物理レプリケーションリンクを通じて他のサブクラスターとリアルタイムで同期され、グローバルデータ整合性が確保されます。

  • 完全なデータ読み取り可能:すべてのサブクラスターは、すべてのテーブルの最新データを直接読み取ることができ、クロスリージョンシナリオにおいてもローカル読み取りアクセスをサポートします。

中国 (香港)、シンガポール、ドイツ (フランクフルト) にそれぞれサブクラスターを配置した例を考えてみます。

  • 中国 (香港) のサブクラスターにテーブル A を作成します。このテーブルの書き込み権限はデフォルトで中国 (香港) のサブクラスターに帰属します。

  • シンガポールのサブクラスターにテーブル B を作成します。このテーブルの書き込み権限はシンガポールのサブクラスターに帰属します。

  • ドイツ (フランクフルト) のサブクラスターにテーブル C を作成します。このテーブルの書き込み権限はドイツ (フランクフルト) のサブクラスターに帰属します。

中国 (香港) のサブクラスターにおけるテーブル A に対するすべての書き込み操作は、ローカルデータに直接適用されます。同時に、このサブクラスターは物理レプリケーションを通じて、シンガポールおよびドイツ (フランクフルト) のサブクラスターからテーブル B およびテーブル C のデータ変更をリアルタイムで受信します。そのため、中国 (香港) のサブクラスターは、ローカルでの効率的な書き込み(テーブル A)だけでなく、すべてのテーブル(テーブル A、B、C)の最新データを直接読み取ることも可能です。シンガポールおよびドイツ (フランクフルト) のサブクラスターについても同様の原則が適用されます。

image

前提条件

ご利用の PolarDB クラスターは MySQL 8.0.2 を実行している必要があります。

マルチライト対応 GDN の作成

  1. アクセス権の申請:PolarDB のマルチライト対応 GDN は現在パブリックプレビュー中です。この機能をご利用になるには、DingTalk グループにご参加のうえ、アクセス権をご申請ください。DingTalk グループ番号:30245017864

  2. グローバルデータベースネットワークの作成と管理前提条件を満たすクラスターを選択し、グローバルデータベースネットワーク (GDN) のプライマリクラスターとして設定します。

    重要

    マルチライト対応 GDN を作成すると、プライマリクラスターが 1 回再起動します。

  3. セカンダリクラスターの追加と管理PolarDB 購入ページにアクセスし、GDN にセカンダリクラスターを追加します。

  4. グローバルデータベースネットワークへの接続:GDN 内では、各サブクラスター(プライマリおよびセカンダリクラスター)が独立したクラスターエンドポイントを提供します。アプリケーションのリージョンに基づき、最も近いクラスターエンドポイントに接続できます。さらに、GDN はグローバルドメイン名も提供しており、近接アクセスを実現するだけでなく、プライマリクラスターのスイッチオーバー後も変更されません。

  5. ビジネス要件に基づき、特定のリージョンのサブクラスターに必要なテーブルを作成します。これにより、各サブクラスターが自身に書き込み権限を持つテーブルに対してローカルに書き込みを行い、読み取りおよび書き込みの近接アクセスを実現し、クロスリージョンの書き込みレイテンシを効果的に低減できます。

テーブルの書き込み権限の管理

サブクラスター上にテーブルを作成すると、そのサブクラスターがデフォルトで当該テーブルの書き込み権限を保持します。各テーブルの書き込み権限は、常に 1 つのサブクラスターのみが保持し、他のすべてのサブクラスターはデフォルトで読み取り専用アクセスとなります。

書き込み権限の譲渡

以下の DDL 文を使用して、サブクラスター間でテーブルの書き込み権限を動的に譲渡できます。

説明

ALTER TABLE <table_name> GDN_RELEASE;

現在のサブクラスターからテーブルの書き込み権限を解放します。実行後、当該テーブルは現在のサブクラスター上で読み取り専用になります。

ALTER TABLE <table_name> GDN_FETCH;

現在のサブクラスター上でテーブルの書き込み権限を取得します。この文を実行する前に、元のクラスターから書き込み権限を解放しておく必要があります。

書き込み権限の所有状況の確認

SHOW CREATE TABLE 文の出力を確認することで、現在のサブクラスターがテーブルの書き込み権限を保持しているかどうかを判断できます。

  • 出力に /* GDN_REMOTE */ タグが含まれている場合、当該テーブルの書き込み権限は別のサブクラスターに帰属しており、現在のサブクラスターは読み取り専用アクセスのみ可能です。

  • 出力に /* GDN_REMOTE */ タグが含まれていない場合、現在のサブクラスターが当該テーブルの書き込み権限を保持しています。

以下の例では、中国 (香港) のサブクラスターで作成されたテーブル t_A の書き込み権限をシンガポールのサブクラスターに譲渡する方法を示します。

  1. 中国 (香港) のサブクラスターにテーブルを作成し、書き込み権限の所有状況を確認します。

    -- 中国 (香港) のサブクラスターにテーブルを作成します。
    CREATE TABLE t_A (id INT PRIMARY KEY);
    
    -- テーブルスキーマを確認します。出力に GDN_REMOTE タグが含まれていないため、書き込み権限が現在のサブクラスターに帰属していることを示しています。
    SHOW CREATE TABLE t_A\G
    Create Table: CREATE TABLE `t_A` (
      `id` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  2. 中国 (香港) のサブクラスターでテーブルの書き込み権限を解放します。

    ALTER TABLE t_A GDN_RELEASE;
    
    -- 再度確認します。出力に GDN_REMOTE タグが含まれているため、書き込み権限が解放されたことを示しています。
    SHOW CREATE TABLE t_A\G
    Create Table: CREATE TABLE `t_A` (
      `id` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) /* GDN_REMOTE */ ENGINE=InnoDB DEFAULT CHARSET=utf8
  3. シンガポールのサブクラスターでテーブルの書き込み権限を取得します。

    ALTER TABLE t_A GDN_FETCH;
    
    -- テーブルスキーマを確認します。出力に GDN_REMOTE タグが含まれていないため、書き込み権限が現在のサブクラスターに譲渡されたことを示しています。
    SHOW CREATE TABLE t_A\G
    Create Table: CREATE TABLE `t_A` (
      `id` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
  4. ドイツ (フランクフルト) のサブクラスターでテーブルを確認し、引き続き読み取り専用であることを検証します。

    -- 出力に GDN_REMOTE タグが含まれているため、現在のサブクラスターが書き込み権限を保持していないことを示しています。
    SHOW CREATE TABLE t_A\G
    Create Table: CREATE TABLE `t_A` (
      `id` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) /* GDN_REMOTE */ ENGINE=InnoDB DEFAULT CHARSET=utf8