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

PolarDB:概要

最終更新日:May 30, 2024

ビジネスにオンライントランザクション処理 (OLTP) サービスとオンライン分析処理 (OLAP) サービスの両方が含まれている場合は、データベースプロキシのクラスターエンドポイント機能を使用して、IMCI機能に基づいてOLAPリクエストを列ストアノードに、OLTPリクエストを行ストアノードに配信できます。

背景情報

PolarDB for MySQLは、次の読み取り専用ノードタイプをサポートしています。

  • 読み取り専用の行ストアノード: 行ストア機能に基づいて読み取り要求を処理します。 ローストアノードは、OLTP読み取り要求を処理するときに高いパフォーマンスを提供します。

  • 読み取り専用列ストアノード: 列ストア機能に基づいて読み取り要求を処理します。 複雑なSQLクエリや分析SQLクエリなどのOLAP読み取り要求を処理する場合、列ストアノードは行ストアノードよりも優れています。

説明

デフォルトでは、クラスターには1つのプライマリノードと1つの読み取り専用行ストアノードが含まれます。 読み取り専用ノードを追加するときは、行ストアまたは列ストアノードを追加できます。 詳細については、「読み取り専用列ストアノードの追加」をご参照ください。

SQLクエリのパフォーマンスを最大化するために、クラスタエンドポイントを設定して、OLAP要求を列ストアノードに、OLTP要求を行ストアノードに配信できます。

手動リクエスト配信と自動リクエスト配信がサポートされています。

OLTPとOLAPの混在シナリオでの自動リクエスト配信

OLAPおよびOLTP要求がデータベースにアクセスするために同じアプリケーションによって送信される場合、2つのタイプの読み取り要求は、スキャンされた行の数に基づいて、列ストアノードまたは行ストアノードに自動的に配信されます。

説明

行ストアノードと列ストアノードの間で自動リクエスト分散を実装するには、クラスターエンドポイントが次の要件のいずれかを満たす必要があります。

  • クラスターエンドポイントの読み取り /書き込みモードは、読み書き に設定されています。

  • クラスターエンドポイントの読み取り /書き込みモードはReadOnlyに設定され、負荷分散ポリシーはアクティブな要求ベースの負荷分散に設定されます。

リクエスト配布ルール:

  • OLTPサービス: ほとんどの場合、読み取りおよび書き込み要求が含まれます。 すべての書き込み要求は、プライマリノードによって処理されます。 読み取り要求は、読み取り専用の行ストアノードまたはプライマリノードによって処理されます。

  • OLAPサービス: ほとんどの場合、読み取り要求のみが含まれます。 すべての読み取り要求は、読み取り専用列ストアノードによって処理されます。

自動リクエスト配信ソリューション:

  • プライマリノードと読み取り専用列ストアノード間のリクエストの配布: プライマリノードも行ストアモードにあるため、プライマリノードはOLTP読み取りリクエストを処理できます。 このソリューションでは、書き込み要求とOLTP読み取り要求がプライマリノードに分散されます。 OLAP読み取り要求は、読み取り専用列ストアノードに配信されます。

  • 読み取り専用の行ストアノードと読み取り専用の列ストアノード間のリクエストの分散: このソリューションでは、書き込みリクエストはプライマリノードに分散され、OLTP読み取りリクエストは読み取り専用の行ストアノードまたはプライマリノードに分散され、OLAP読み取りリクエストは読み取り専用の列ストアノードに分散されます。

自動リクエスト配信ルール:

  • SQL文の実行コストしきい値を下回るリクエストは、行ストアノードまたはプライマリノードに分散されます。 複数の行ストアノードが利用可能な場合、SLBは宛先行ストアノードを決定します。

  • SQL文の予想実行コストしきい値を超えるリクエストは、列ストアノードに配信されます。 複数の列ストアノードが使用可能な場合、SLBは宛先列ストアノードを決定します。

混合下分流

詳細については、「行ストアおよび列ストアノード間のリクエストの自動配布」をご参照ください。

説明

オプティマイザによって推定される実行コストは、使用されるサンプリング方法およびサンプリング精度に起因して、実際の値から大きく逸脱する可能性がある。 その結果、いくつかの低速クエリが自動的に行ストア・ノードに分配され得る。 この問題を回避するには、システムの適応実行プラン切り替えを有効にして、行ストアノードに誤って配布された低速クエリを列ストアノードに自動的に切り替えることができます。 アダプティブ実行プランの切り替えを有効にする方法については、「アダプティブ実行プランの切り替え」をご参照ください。

OLTPとOLAPで分離されたシナリオの行ストアノードと列ストアノード間の手動リクエスト配布

OLAP要求とOLTP要求が異なるアプリケーションから送信されてデータベースにアクセスする場合は、アプリケーションに異なるクラスターエンドポイントを設定してから、行ストアノードと列ストアノードを異なるクラスターエンドポイントに関連付けて、要求の配布を実装できます。

リクエスト配布ルール:

  • OLTPサービス: ほとんどの場合、読み取りおよび書き込み要求が含まれます。 すべての書き込み要求は、プライマリノードによって処理されます。 読み取り要求は、読み取り専用の行ストアノードまたはプライマリノードによって処理されます。

  • OLAPサービス: ほとんどの場合、読み取り要求のみが含まれます。 すべての読み取り要求は、読み取り専用列ストアノードによって処理されます。

手動リクエスト配布ソリューション (読み書き または読み取り専用)

  • OLTPアプリケーションの読み取り専用列ストアノードに関連付けられていないクラスターエンドポイントを指定します。 このように、OLTP読み取り要求は、プライマリノードまたは読み取り専用の行ストアノードによって処理されます。

  • OLAPアプリケーションの読み取り専用列ストアノードにのみ関連付けられているクラスターエンドポイントを指定します。 このようにして、OLAP読み取り要求は読み取り専用列ストアノードによって処理されます。

独立

詳細については、「行ストアおよび列ストアノード間の手動リクエスト配布」をご参照ください。