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

:マルチマスター (データベース/テーブルレベル) とは

最終更新日:Sep 02, 2026

1 書き込み複数読み取りアーキテクチャにおける書き込みパフォーマンスのボトルネックに対応するため、PolarDB for MySQL はマルチマスタークラスター (Limitless) をリリースしました。このクラスターは、複数のプライマリノードを通じて、アーキテクチャを 1 書き込み複数読み取りから複数書き込み複数読み取りへとアップグレードします。このソリューションは、主に SaaS マルチテナント、ゲーム、E コマースなどの高い同時実行性が求められる読み書きアプリケーションシナリオ向けに設計されています。

製品アーキテクチャ

Multi-master architecture

クラスターのすべてのデータファイルは、共有ストレージ (PolarStore) に保存されます。各読み書き (RW) ノードは、分散ファイルシステム (PolarFileSystem) を介して、基盤となるストレージ (PolarStore) 内のデータファイルを共有します。クラスターエンドポイントを介してクラスター全体にアクセスでき、データベースプロキシが SQL 文を正しい RW ノードに自動的に転送します。

主な利点と機能

  • 数秒での書き込みの水平スケールアウト

    異なるデータベース/テーブルは、異なるコンピューティングノード上で同時に書き込みが可能で、最大 63 ノードが同時にデータを書き込めます。異なるデータベースは、数秒以内に異なるコンピューティングノード間で動的にスケジュールできるため、全体的な同時読み書き能力が大幅に向上します。

  • マルチマスターによる相互バックアップ (スタンバイノード不要)

    プライマリノードに障害が発生した場合、ワークロードは数秒以内に別の低トラフィックのプライマリノードに切り替えられます。さらに、ホットスタンバイのために予約された追加のアイドルリソースがないため、コストが半分に削減されます。

  • [グローバル読み取り専用ノード]

    グローバル読み取り専用ノードでは、すべての書き込みノードのデータを読み取ることができ、集計クエリの実行に便利です。詳細については、「グローバル読み取り専用ノード」をご参照ください。

シナリオ

Multi-master Cluster (Limitless) Edition は、主に SaaS マルチテナンシー、ゲーム、e コマースなど、読み取り/書き込みの同時実行性が高いアプリケーションシナリオ向けに設計されています。

  • SaaS マルチテナントシナリオ:高い同時実行パフォーマンス要件への対応とテナント間の負荷分散

    シナリオの特徴:テナントデータベースの数は急速に変化し、負荷は大幅に変動します。最適なユーザーエクスペリエンスを実現するには、データベースリソースを異なるインスタンス間で頻繁に再割り当てする必要があります。

    解決策: マルチマスタークラスター (無制限) エディションは、テナントデータベースを異なる RW ノード間で数秒で切り替えたり、バーストトラフィックを処理するために新しい RW ノードを数秒で追加したりできます。これにより、負荷分散が実現されます。

  • ワールドサーバーゲームおよび E コマースシナリオ:数分以内のスケールイン・スケールアウトによる、急成長するビジネスリクエストへの対応

    シナリオの特徴:ワールドサーバーゲームおよび E コマースのシナリオでは、通常、ミドルウェアまたはビジネスロジックベースのデータベースとテーブルのシャーディングソリューションが採用されます。バージョンの更新や大規模なセールスイベントの際には、クラスター容量を数倍に迅速にスケールアウトし、イベント終了後には迅速にスケールインする必要があります。しかし、従来のクラスターのスケールインまたはスケールアウトにはデータ移行が必要であり、非常に複雑です。

    ソリューション: Multi-master Cluster (Limitless) Edition の秒単位の水平スケールアウト機能と透過的ルーティング機能を、ミドルウェアベースまたはビジネスベースのデータベースおよびテーブルシャーディングと組み合わせることで、秒単位の透過的なスケールアウトを実現し、スケールアウト時間を数日から数分に短縮できます。

  • サーバー分割型ゲームシナリオ:パフォーマンスとスケーラビリティの向上、柔軟なスケールイン・スケールアウト

    シナリオの特徴:ゲームの成長期には、データベースの負荷が重く、増え続けます。通常、成長期にはデータベースが継続的に追加され、RW ノードの負荷も増加します。衰退期には、データベースの負荷は徐々に減少し、データベースは継続的に統合されるため、RW ノードの負荷も減少傾向を示します。

    ソリューション:ゲームの成長期には、一部のデータベースを新しい RW ノードに迅速に切り替えて負荷分散を実現できます。衰退期には、データベースを少数の RW ノードに迅速に統合して、運用コストを急速に削減できます。

適用範囲

  • データベースエンジンは MySQL 8.0 です。

  • 現在、クラスターエディションからマルチマスタークラスター (Limitless) への直接変換はサポートされていません。製品シリーズをアップグレードするには、「メジャーバージョンのアップグレード」をご参照ください。

パフォーマンスの向上

テストによると、クラスター内のデータベースがより多くのプライマリノード (RW ノード) に切り替えられるにつれて、クラスターの全体的な同時読み書き能力はほぼ直線的に向上することがわかっています。以下はテスト例です。

  • テスト背景:クラスターには 8 つのデータベースと 8 つの RW ノードが含まれています。

  • テスト手順:最初に、8 つすべてのデータベースが 1 つの RW ノードにロードされ、その後、すべてのデータベースで同じストレステストが同期的に実行されます。ストレステスト中に、8 つのデータベースはそれぞれ 2 つの RW ノード、4 つの RW ノード、および 8 つの RW ノードに均等に切り替えられ、クラスターの全体的なパフォーマンス変化の傾向が観察されます。

  • パフォーマンス変化の傾向は、QPSを例にとると次のようになります。Performance improvement

上図が示すように、データベースがより多くの RW ノードに切り替えられるにつれて、クラスターの全体的な同時読み書き能力は大幅に向上し、ほぼ直線的な増加を示します。

ノード仕様と料金

クイックスタート

  1. マルチマスタークラスター (Limitless) の購入

  2. データベースアカウントの作成クラスターのホワイトリスト設定データベースへの接続など、クラスターの基本情報を設定します。

  3. データベースの作成。マルチマスタークラスター (Limitless) は、各データベースまたはデータオブジェクトのデータが1つのノードによってのみ書き込まれるように制限します。データベースを作成するときに、RW ノードを指定するか、loose_innodb_mm_default_master_id パラメーターの値を 0 に設定することで、システムがランダムに RW ノードを選択してデータベースを作成するようにすることができます。

  4. SELECT 文を使用してデータをクエリします。データをクエリするとき、RW ノードを指定する必要はありません。データベースプロキシがクエリを実行する正しい RW ノードを自動的に選択します。

詳細については、「使用方法」をご参照ください。