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

PolarDB:マルチマスタークラスター (Limitless)

最終更新日:Apr 25, 2026

シングルライター・マルチリーダーアーキテクチャにおける書き込みパフォーマンスボトルネックを解消するため、PolarDB for MySQL では マルチマスタークラスター (Limitless) を導入しました。この機能は複数のプライマリノードを使用し、アーキテクチャをマルチライター・マルチリーダーに対応させます。このソリューションは、マルチテナント型ソフトウェアとしてのサービス(SaaS)、オンラインゲーム、E コマースなど、高い同時実行性が求められる読み書きワークロードを持つアプリケーション向けに設計されています。

次の図は マルチマスタークラスター (Limitless) Edition のアーキテクチャを示しています。multi-master architecture

クラスターのエンドポイント経由でアクセスすると、PolarProxy が SQL ステートメントを自動的に適切なプライマリノードにルーティングします。

主なメリット

  • 秒単位での書き込みスケールアウト

    最大 63 個のコンピュートノード上のデータベースへの同時書き込みがサポートされます。データベースのノードに対して秒単位で動的なフェールオーバーを実現し、クラスター全体の同時読み書き能力を向上させます。

  • マルチマスターバックアップ(読み取り専用ノード不要)

    プライマリノードが障害を起こした場合、秒単位でトラフィックの少ない別のプライマリノードへフェールオーバーできます。ホットスタンバイ用に追加のアイドルリソースをデプロイしないため、コストを半減できます。

利用シーン

マルチマスタークラスター (Limitless) Edition は、SaaS のマルチテナンシー、ゲーム、E コマースなどのシーンに適しています。これらのシーンでは、高い同時実行性を持つ読み書きリクエストが特徴です。

  • SaaS におけるマルチテナンシー:高同時実行性とテナント間の負荷分散

    シーン:テナントのデータベース数が急激に変化し、負荷量も大きく変動します。ユーザーは異なるインスタンス間でデータベースリソースをスケジュールし、最適なエクスペリエンスを提供する必要があります。

    ソリューション:マルチマスタークラスター (Limitless) Edition を使用することで、テナントのデータベースを異なるプライマリノード間に秒単位で切り替えたり、新しいプライマリノードを追加してバーストトラフィックを処理したりできます。これにより負荷分散を実現します。

  • グローバルゲームサーバーおよび E コマースシーン:ビジネスリクエストの急増に対応する分単位のスケーリング

    シーン:ミドルウェアまたはビジネスロジックに基づくデータベースおよびテーブルシャーディングソリューションがよく使用されます。バージョンアップや大規模プロモーション時にはクラスター容量の急激なスケールアウトが必要となり、終了後には迅速なスケールインが求められます。しかし、従来のクラスターのスケーリングにはデータ移行を伴う複雑な手順が必要です。

    ソリューション:マルチマスタークラスター (Limitless) Edition の秒単位スケールアウトおよび透明なルーティング機能をミドルウェアまたはビジネスロジックに基づくデータベースおよびテーブルシャーディングソリューションと組み合わせることで、スケールアウトプロセスを数日から数分に短縮できます。

  • 複数サーバーにデプロイされたゲームアプリケーション:より優れたパフォーマンスとスケーラビリティ

    シーン:ゲームの成長期にはデータベース負荷が重く、継続的に増加します。この期間中、データベース数も増え続け、結果としてプライマリノードの負荷も増大します。一方、衰退期にはデータベース負荷が大幅に減少し、データベースがマージされるため、プライマリノードの負荷も低下します。

    ソリューション:成長期には一部のデータベースを新しいプライマリノードに切り替えて負荷分散を実現できます。衰退期にはデータベースを少数のプライマリノードに集約し、運用コストを削減できます。

制限事項

  • データベースエンジンMySQL 8.0 である必要があります。

  • Cluster edition クラスターを直接 マルチマスタークラスター (Limitless) クラスターに変換することはできません。クラスターのプロダクトエディションをアップグレードするには、「メジャーバージョンアップグレード」をご参照ください。

パフォーマンス向上

テストの結果、クラスター内のデータベースをより多くのプライマリノードに切り替えることで、クラスター全体の同時読み書き能力が線形に向上することが確認されました。次のコードスニペットはストレステストの例を示しています。

  • テストバックグラウンド:クラスターには 8 個のデータベースと 8 個のプライマリノードが含まれています。

  • テストプロシージャ:テスト開始時、8 個のデータベースは 1 個のプライマリノードを共有しています。全データベースに同時に同じデータを同期し、同一のストレステストを実行します。ストレステスト中に、8 個のデータベースをそれぞれ 2 個、4 個、8 個のプライマリノードにスケジュールし、クラスター全体のパフォーマンス変化傾向を観測します。

  • 次の図は QPS の変化傾向を示しています。performanceimprove

上記の図から、データベースをより多くのプライマリノードにスケジュールするにつれて、クラスター全体の同時読み書き能力が著しく向上し、線形に増加していることがわかります。

ノードスペックと課金

クイックスタート

  1. マルチマスタークラスター (Limitless) クラスターの購入」を行います。

  2. クラスターの基本設定を構成します。たとえば、「データベースアカウントの作成」、「クラスターホワイトリストの設定」、「データベースへの接続」などが可能です。

  3. データベースの作成」を行います。

    マルチマスタークラスター (Limitless) では、任意の単一データベースまたはデータオブジェクトに対する書き込みは、必ず 1 つのノードを経由する必要があります。データベース作成時に、プライマリノードを指定するか、loose_innodb_mm_default_master_id パラメーターを 0 に設定して、システムがランダムにプライマリノードを選択するようにできます。

  4. SELECT 文を使用してデータをクエリします。

    データをクエリする際、プライマリノードを指定する必要はありません。PolarProxy が自動的にクエリを適切なプライマリノードにルーティングします。

詳細については、「注意事項」をご参照ください。