PolarDB のクラスターエンドポイントを用いてデータベースプロキシを設定します。
前提条件
プロダクトエディションは PolarDB for MySQL Cluster Edition である必要があります。プロダクトエディションの詳細については、「エンタープライズエディション」をご参照ください。
使用上の注意
データベースプロキシの設定時に、パラレルクエリを有効化して並列度を設定できるのは、PolarDB for MySQL 8.0 クラスターのみです。
操作手順
PolarDB コンソールにログインします。左側のナビゲーションペインで、クラスター をクリックし、クラスターが配置されている[リージョン]を選択してから、対象クラスターの ID をクリックしてクラスターの詳細ページに移動します。
クラスターの 概要 ページの データベースへの接続 セクションで、対象のクラスターエンドポイントを見つけ、その名前の右側にある 構成 をクリックします。
表示されるダイアログボックスで、必要に応じてクラスターエンドポイントの設定を変更します。次の表に設定項目を示します。
Table 1. 設定パラメーター
パラメーター
説明
[ネットワーク情報]
PolarDB は、デフォルトで各クラスターエンドポイントにプライベートエンドポイントを提供します。このエンドポイントの変更や、パブリックエンドポイントの申請については、「Manage endpoints」をご参照ください。
[クラスター設定]
[読み書きモード]
クラスターエンドポイントの読み取り/書き込みモードです。有効なモードは [読み取り専用] と [読み書き (自動読み書き分離)] です。
説明カスタムエンドポイントの作成後に、読み取り/書き込みモードを変更できます。読み取り/書き込みモードを変更した場合、その変更は新規接続に対してのみ有効になります。既存の接続は元のモードのままです。
[エンドポイント名]
クラスターエンドポイントの名前を入力します。
[ノード設定]
[選択されていないノード] および [選択ノード]
左側の [選択されていないノード] ボックスには、プライマリノードとすべての読み取り専用ノードが含まれています。読み取りリクエストを処理するためにクラスターエンドポイントに追加するノードを選択し、
アイコンをクリックして右側の [選択ノード] ボックスに移動させます。説明ノードの選択は読み取り/書き込みモードに影響しません:
読み取り/書き込みモードが [読み書き (自動読み書き分離)] の場合、書き込みリクエストは、[選択ノード] でプライマリノードを選択しているかどうかにかかわらず、プライマリノードにのみ送信されます。
読み取り/書き込みモードが [読み取り専用] の場合、すべての読み取りリクエストは負荷分散によって読み取り専用ノードへ転送され、プライマリノードへは転送されません。プライマリノードを [選択ノード] に追加しても有効になりません。
読み取り/書き込みモードが [読み書き (自動読み書き分離)] の場合、マルチプライマリクラスター (Limitless) はデータベースおよびテーブルのルーティングメカニズムを使用するため、対象のデータベースとテーブルのプライマリノードを読み取り/書き込みエンドポイントに追加するか、すべてのプライマリノードを選択してください。ノードを選択する前に、ルーティングの影響を十分に評価してください。
[新しいノードを自動的に関連付ける]
新しいノードをこのエンドポイントに自動的に追加するかどうかを指定します。
[SLB 設定]
[負荷バランスポリシー]
読み書き分離中に複数ノード間で読み取りリクエストを処理するためのスケジューリングポリシーです。有効なポリシーは [接続数に基づく負荷分散] と [アクティブなリクエストベースのロードバランシング] です。負荷分散ポリシーの詳細については、「Load balancing policies」をご参照ください。
[プライマリノードによる読み取りリクエストの許可]
[いいえ]: SQL クエリは読み取り専用ノードにのみ送信されます。これによりプライマリノードの負荷が軽減され、安定性を維持できます。
[はい]: SQL クエリをプライマリノードと読み取り専用ノードに送信できます。
プライマリノードが読み取りリクエストを受け付けるかどうかの詳細については、「Primary node accepts read requests」をご参照ください。
説明この設定は [読み書き (自動読み書き分離)] モードでのみサポートされています。
[トランザクション分離]
トランザクション分割を有効または無効にします。トランザクション分割の詳細については、「Transaction splitting」をご参照ください。
説明この設定は [読み書き (自動読み書き分離)] モードでのみサポートされています。
[オンデマンド接続]
オンデマンド接続を有効または無効にします。オンデマンド接続の詳細については、「On-demand connections」をご参照ください。
説明この設定は、[ロードバランシング方式] が [アクティブなリクエストベースのロードバランシング] の場合にのみサポートされています。
[整合性設定]
[一貫性レベル]
読み書きモードが読み書き (自動読み書き分離) の場合、利用可能な一貫性レベルは最終的な整合性 (弱)、セッション整合性 (中)、およびグローバル整合性 (強)です。詳細については、「一貫性レベル」をご参照ください。
読み取り/書き込みモードが [読み取り専用] の場合、デフォルトの整合性レベルは [最終的な整合性 (弱)] であり、変更できません。
重要整合性設定は、クラスターに少なくとも 1 つの読み取り専用ノード (RO) が含まれる場合にのみ表示されます。クラスターに読み取り専用ノードが含まれない場合、このセクションは表示されません。
整合性レベルの変更は、すべての接続に対して直ちに有効になります。
グローバル整合性 (高パフォーマンスモード) は、クラスター内のすべてのエンドポイントに対して同時に有効になる必要があります。グローバル整合性 (高パフォーマンスモード) 以外の整合性レベルを選択すると、クラスター内の他のすべてのエンドポイントは、グローバル整合性 (高パフォーマンスモード) を有効にする前の整合性レベルに戻ります。
[グローバル一貫性タイムアウト]
読み取り専用ノードが最新データと同期するまでのタイムアウト時間です。有効な値: 0 ~ 60,000。デフォルト値: 20。単位: ms。
説明この設定は、[一貫性レベル] が [グローバル整合性 (強)] で、かつ [グローバル整合性モード] が [伝統モード] の場合にのみサポートされています。
[グローバル一貫性タイムアウトポリシー]
読み取り専用ノードがタイムアウトした後に PolarDB が適用するデフォルトポリシーです。有効な値:
[プライマリノードにリクエストを送信 (デフォルト)]
[SQL 例外:レプリケーション完了タイムアウトを待ち、再試行してください。]
説明この設定は、[一貫性レベル] が [グローバル整合性 (強)] で、かつ [グローバル整合性モード] が [伝統モード] の場合にのみサポートされています。
Timeout for global consistency reads (high-performance mode)
読み取り専用ノードが最新データと同期するまでのタイムアウト時間です。有効な値: 1 ~ 1,000,000。デフォルト値: 100。単位: ms。
重要グローバル整合性 (高パフォーマンスモード) は、クラスター内のすべてのエンドポイントに対して同時に有効になる必要があります。1 つのエンドポイントでグローバル整合性 (高パフォーマンスモード) を有効化すると、クラスター内の他のすべてのエンドポイントでも有効になります。
この設定は、[一貫性レベル] が [グローバル整合性 (強)] で、かつ [グローバル整合性モード] が [高性能モード] の場合にのみサポートされています。
Policy for global consistency read timeouts (high-performance mode)
読み取り専用ノードがタイムアウトした後に PolarDB が適用するデフォルトポリシーです。有効な値:
[プライマリノードにリクエストを送信 (デフォルト)]
[1:タイムアウトエラー。クライアントはエラーメッセージを返します]
[クエリ内のグローバル一貫性読み取りがタイムアウトした場合、クエリの一貫性レベルは非一貫性読み取りにダウングレードされます。クライアントにエラーメッセージは返されません。]
説明この設定は、[一貫性レベル] が [グローバル整合性 (強)] で、かつ [グローバル整合性モード] が [高性能モード] の場合にのみサポートされています。
[セッション整合性の読み取りタイムアウト]
読み取り専用ノードが最新データと同期するまでのタイムアウト時間です。有効な値: 0 ~ 60,000。デフォルト値: 0。単位: ms。
重要この設定は、[一貫性レベル] が [セッション整合性 (中)] の場合にのみサポートされています。
グローバル整合性 (高パフォーマンスモード) は、クラスター内のすべてのエンドポイントに対して同時に有効になる必要があります。グローバル整合性 (高パフォーマンスモード) 以外の整合性レベルを選択すると、クラスター内の他のすべてのエンドポイントは、グローバル整合性 (高パフォーマンスモード) を有効にする前の整合性レベルに戻ります。
[セッション整合性の読み取りタイムアウトポリシー]
読み取り専用ノードがタイムアウトした後に PolarDB が適用するデフォルトポリシーです。有効な値:
[プライマリノードにリクエストを送信 (デフォルト)]
[SQL 例外:レプリケーション完了タイムアウトを待ち、再試行してください。]
説明この設定は、[一貫性レベル] が [セッション整合性 (中)] の場合にのみサポートされています。
[接続プールの設定]
[接続プール]
[オフ] (デフォルト)、[セッションレベル]、または [トランザクションレベル] を選択できます。接続プールの詳細については、「Connection pools」をご参照ください。
説明この設定は、読み取り/書き込みモードが [読み書き (自動読み書き分離)] の場合にのみサポートされています。
接続プールの設定変更は、新規接続に対してのみ有効になります。通常、変更を有効にするには、アプリケーションを再起動するか、データベース接続を再確立してください。
[HTAP の最適化]
[並行クエリ]
パラレルクエリを有効または無効にし、並列度を設定します。
Elastic Parallel Query (ePQ) は、マルチコア CPU の並列処理機能 (クラスター内のアイドルなコンピュートリソース) を使用して、複雑なクエリを高速化します。詳細については、「Elastic Parallel Query」をご参照ください。
説明2023 年 4 月 1 日以降、次の条件を満たすクラスターでは Elastic Parallel Query がデフォルトで有効になり、並列度のデフォルト値は 2 になります:
新規作成されたクラスター:クラスターが 8 CPU コア以上であること。
既存のクラスター:クラスター内にカスタムクラスターエンドポイントを作成し、クラスターが 8 CPU コア以上であること。
[トランザクションと分析処理の分離]
行ストアノードと列ストアノード間でのトラフィックの自動リダイレクトを有効または無効にします。詳細については、「Configure automatic request distribution」をご参照ください。
説明マイナーエンジンバージョンが 8.0.1.1.22 以降の PolarDB for MySQL 8.0.1 クラスターエンドポイントでは、この設定は [読み書き] モードでのみサポートされます。また、[ノード設定] の [選択ノード] に、少なくとも 1 つの読み取り専用の列ストアノードを含める必要があります。
[列ストアノードは OLTP リクエストを処理します。]
列ストアノードが OLTP リクエストを処理できるようにする機能を有効または無効にします。
この機能を有効にすると、列ストアノードは OLAP リクエストと OLTP リクエストの両方を処理します。データベースプロキシは、アクティブリクエスト数に基づいて OLTP の読み取りリクエストを列ストアノードにルーティングするため、列ストアノードの負荷が増加する可能性があります。
説明この設定は、[トランザクションと分析処理の分離] が有効な場合にのみサポートされています。
[セキュリティ保護]
[過負荷保護]
過負荷保護を有効または無効にします。詳細については、「Overload protection」をご参照ください。
[OK] をクリックします。
よくある質問
関連 API
API | 説明 |
クラスターエンドポイントを照会します。 | |
クラスターエンドポイントを変更します。 | |
カスタムクラスターエンドポイントを解放します。 |