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

PolarDB:データベースプロキシとは

最終更新日:Mar 29, 2026

PolarProxy は、アプリケーションと PolarDB クラスターの間に配置される組み込みプロキシレイヤーです。すべてのインバウンドリクエストをインターセプトし、プライマリノードおよび読み取り専用ノード間でインテリジェントにルーティングすることで、アプリケーションの接続文字列を変更することなく、自動読み書き分離、負荷分散、接続プール、設定可能な整合性レベル、および過負荷保護機能を提供します。

PolarProxy の機能を利用するには、クラスターエンドポイントに接続します。

利用シーン

PolarProxy は、以下の 3 つの一般的な運用課題に対応します:

  • 読み取りトラフィックが高負荷である場合:複数の読み取り専用ノードに読み取りリクエストをルーティングし、負荷を分散してプライマリノードへの負担を軽減します。

  • 接続ストームが発生する場合:接続プールを活用して、数千のアプリケーション接続を少数のデータベース接続に多重化し、トラフィックスパイク時の過負荷を防止します。

  • 混合ワークロードの隔離が必要な場合:読み書きモードまたは読み取り専用モードのクラスターエンドポイントを複数作成し、異なるアプリケーションやトラフィックタイプを物理的に分離します。たとえば、レポート処理ジョブ専用に 2 つの読み取り専用ノードを読み取り専用エンドポイントに割り当て、残りのノードはトランザクション処理用に確保します。

アーキテクチャ

1

PolarDB Cluster Edition クラスターは、1 つのプライマリノードと複数の読み取り専用ノードで構成されます。クラスターでは、デフォルトで以下の 2 種類のエンドポイントタイプが提供されます:

  • プライマリエンドポイント:すべてのトラフィックをプライマリノードに直接ルーティングします。

  • クラスターエンドポイント:PolarProxy が提供するエンドポイントです。読み書きモード(自動読み書き分離)および読み取り専用モードをサポートします。

PolarProxy Enterprise Edition

PolarProxy Enterprise Edition は、クラスタータイプに応じて 2 種類のエディションから選択できます。

Standard Enterprise Edition は、汎用クラスターで使用されます。共有物理 CPU リソース上で実行され、スマートな弾力的スケーラビリティを備えています。デフォルトでは、クラスター内のすべてのノードの合計 CPU コア数の 1/6 に相当する CPU コアが割り当てられます。

Dedicated Enterprise Edition は、専用クラスターで使用されます。パフォーマンスの安定性を高めるため、排他的な物理 CPU リソース上で実行されます。デフォルトでは、クラスター内のすべてのノードの合計 CPU コア数の 1/4 に相当する CPU コアが割り当てられます。

いずれのエディションでも、PolarProxy の CPU リソースはクラスターのコンピュートノードとは独立して割り当てられます。

以下の表に、2 つのエディションの相違点を示します。

機能Standard Enterprise EditionDedicated Enterprise Edition
リソースタイプ弾力的スケーラビリティを備えた共有物理 CPU安定したパフォーマンスを実現する排他的物理 CPU
コンピュートノードのスケールアウト数秒以内で弾力的に実行可能リソース予約により可用性を保証

両エディションで共通する機能は以下のとおりです:

  • 無料

  • 高可用性冗長アーキテクチャ

  • 最小クラスタースペック:2 コア

  • クラスターエンドポイントへの接続数に制限はありません

  • 従来のエディションと比較して、クラスターのストレージ IOPS 最大値が 50 % 向上(スペックごとの上限については、「PolarDB for MySQL Enterprise Edition のコンピュートノードスペック」をご参照ください)

  • 読み取り専用ノードの構成はプライマリノードと一致させる必要はありません。業務負荷に応じて読み取り専用ノードのスペックをダウングレードし、コスト削減を図ることができます

  • 最大 15 台の読み取り専用ノードをサポート

  • 1つのプライマリエンドポイントと7つのクラスターエンドポイント

  • ホットスタンバイによるフェイルオーバー:接続は一時的に 5~10 秒間ブロックされますが、切断されることはありません

  • 整合性レベル:結果整合性、セッションの一貫性、グローバル整合性

  • 接続プール、トランザクション分割、中断保護(接続保持)、データマスキング、構成変更時の業務安定性、マルチマスタークラスター(データベース/テーブル)、およびプロキシスロットリング保護(近日公開予定)

課金

PolarProxy Enterprise Edition は無料です。

以下の表に、既存クラスターの PolarProxy Enterprise Edition への移行方法を示します。

購入タイプ切り替えポリシー
新規購入クラスター2021 年 12 月 9 日以降に新規購入されたすべてのクラスターは、PolarProxy Enterprise Edition を使用します。
既存の従量課金クラスター2021 年 12 月 9 日に自動的に PolarProxy Enterprise Edition に切り替えられました。
既存のサブスクリプションクラスター2021 年 12 月 9 日に自動的に PolarProxy Enterprise Edition に切り替えられました。

制限事項

クラスターエンドポイントおよび PolarProxy は、PolarDB Cluster Edition クラスターのみでサポートされます。

注意事項

読み書き分離の動作

  • トランザクション分割が有効になっていない場合、トランザクション内のすべてのリクエストはプライマリノードに転送されます。

  • 複数ステートメントクエリの実行またはストアドプロシージャの呼び出しを行うと、その接続上の後続のすべてのリクエストがプライマリノードに転送されます。読み書き分離を再開するには、接続を閉じて再接続してください。

  • 複数ステートメントバッチ内(例:SET NAMES utf8mb4;SELECT * FROM t1;)で SET NAMES utf8mb4 などの環境変数を変更しないでください。この操作により、プライマリノードと読み取り専用ノード間でデータの不整合が発生する可能性があります。

  • クラスターエンドポイント経由で SHOW PROCESSLIST を実行すると、クラスター内のすべてのノードからの結果が返されます。

新規追加または再起動後の読み取り専用ノードへの接続ルーティング

読み取り専用ノードの追加または再起動後に作成されたセッションは、自動的にそのノードへ読み取りリクエストをルーティングします。追加または再起動前に作成されたセッションは、引き続き以前のノードセットへルーティングされます。新規または再起動済みのノードを含めるには、既存の接続を閉じて再接続してください(例:アプリケーションを再起動する)。

接続数制限

クラスターエンドポイント自体には接続数のハード制限はありません。実効的な最大接続数は、コンピュートノードのスペックによって決まります:

  • 読み取り / 書き込み分離モード:アプリケーションがクラスター内の各ノードに個別に接続するため、最大接続数は単一コンピュートノードの最大接続数と等しくなります。

  • 読み取り専用モード:最大接続数は、そのエンドポイントに関連付けられたすべての読み取り専用ノードの最大接続数の合計となります。

読み取り / 書き込み分離モードにおける実効的な接続数制限を増加させるには、トランザクションレベルの接続プールを有効化してください。詳細については、「接続プール」の「トランザクションレベルの接続プール」セクションをご参照ください。

圧縮プロトコル

PolarProxy は、デフォルトまたはカスタムクラスターエンドポイントに対して圧縮プロトコルをサポートしていません。

アプリケーション側接続プールのタイムアウトパラメーター

アプリケーション側接続プールを使用する際に、パケット損失やその他のネットワーク障害により接続がハングするのを防ぐため、接続 URL に connectTimeout および socketTimeout を追加してください。パラメーターの詳細については、「Parameters」をご参照ください。

Java 用 URL の例:

jdbc:mysql://ip:port/db?connectTimeout=60000&socketTimeout=300000

PolarProxy のスペックアップ

PolarProxy Enterprise Edition のデフォルトスペックは、ほとんどのワークロードで十分です。観測された負荷に基づいてリアルタイムで自動的にスケールアップされるため、通常は手動での操作は不要です。

以前の PolarProxy バージョンを実行しているクラスターの場合、手動によるスペックアップもサポートされています。

説明

PolarProxy のスペックアップは、PolarProxy が独立したリソース上で実行されるため、クラスターのコンピュートノードに割り当てられた CPU コア数を消費または削減しません。追加の課金は発生せず、PolarProxy Enterprise Edition は無料です。

アップグレード手順については、「PolarProxy のスペックアップ」をご参照ください。

API リファレンス

操作説明
CreateDBEndpointAddressPolarDB クラスター向けのパブリックエンドポイントを作成します。
CreateDBClusterEndpointPolarDB クラスター向けのカスタムエンドポイントを作成します。
DescribeDBClusterEndpointsPolarDB クラスターのエンドポイント情報を照会します。
ModifyDBClusterEndpointクラスターエンドポイントの構成を変更します。
ModifyDBEndpointAddressクラスターエンドポイント(カスタムエンドポイントを含む)のアドレスを変更します。
DeleteDBEndpointAddressクラスターエンドポイントを削除します。ただし、非公開のカスタムクラスターエンドポイントの削除には使用できません。
DeleteDBClusterEndpointカスタムクラスターエンドポイントを削除します。