このトピックでは、読み取り専用 IMCI ノードでサーバーレス機能を有効にする方法について説明します。
前提条件
少なくとも 1 つの読み取り専用 IMCI ノードを含む PolarDB for MySQL 8.0 Enterprise Edition クラスタが作成されていること。
実装方法
定義済みスペックの読み取り専用 IMCI ノードのスケーリング範囲を指定する: 定義済みスペックの読み取り専用 IMCI ノードでサーバーレス機能を有効にすることができます。この方法では、ワークロードが定義済みスペックの容量を超えた場合に一時的なスペックアップを実行できます。
サーバーレス読み取り専用 IMCI ノードを作成する: サーバーレス読み取り専用 IMCI ノードには定義済みのスペックがなく、ワークロードに基づいてスケーリングできます。この方法は、コスト効率を重視するビジネスシナリオに適しています。
メリット
ビジネスのピーク時とオフピーク時における効果的なコスト削減
PolarDB のサーバーレスアーキテクチャは、オフピーク時にはクラスタの構成を自動的にスペックダウンし、ピーク時には負荷の変動に対応するためにスペックアップすることで、コストを効果的に削減できます。パフォーマンス要件を満たすために、12 時間のピーク時に 32 コアと 64 GB のメモリが必要で、12 時間のオフピーク時に 16 コアと 32 GB のメモリが必要なシナリオを想定します。32 コアと 64 GB のメモリの構成と比較して、サーバーレスアーキテクチャを使用する 16 コアと 32 GB のメモリの構成では、計算ノードのコストが 25% 削減されます。
最適化されたサーバーレスアーキテクチャ
読み取り専用ノードに実装されたインメモリ列インデックス (IMCI) 機能は、サーバーレスアーキテクチャの柔軟なリソース機能を最適化し、パフォーマンスとユーザーエクスペリエンスをさらに向上させます。
リソース使用率の向上: 読み取り専用 IMCI ノードは、キャッシュ、スレッドプール、実行メモリなどの複数の主要なシステムパラメータをオンラインで構成できる包括的なリソース管理メカニズムを提供します。サーバーレスアーキテクチャでは、リソースのスケールアップまたはスケールダウン時にパラメータが自動的に変更され、最適なリソース使用率が確保されます。
SQL クエリの高速化: 読み取り専用 IMCI ノードは、主に分析シナリオで使用されます。複雑な SQL クエリが迅速に実行されるようにするために、ほとんどの場合、大量のリソースが 1 つの複雑な SQL クエリに割り当てられます。複雑な SQL クエリの数の増加は、リソース競合につながる可能性があります。その結果、キュー内の後続の単純な SQL クエリは複雑なクエリによってブロックされ、SQL クエリが遅くなります。サーバーレスアーキテクチャでは、読み取り専用 IMCI ノードは SQL のキューイング状況に基づいて追加のリソースを自動的に割り当て、キューイングによって発生する SQL の低速化の問題を軽減します。
説明このメリットは、以下のエンジンバージョンでサポートされています。
PolarDB for MySQL 8.0.1 リビジョンバージョン 8.0.1.1.39 以降。
PolarDB for MySQL 8.0.2 リビジョンバージョン 8.0.2.2.20 以降。
起動時の IMCI の高速読み込み: クラスタの再起動後、読み取り専用 IMCI ノードが内部インデックス情報を再構築するには数分かかります。この期間中、IMCI は使用できません。サーバーレスアーキテクチャでは、読み取り専用 IMCI ノードは柔軟なリソースを使用して再構築プロセスを高速化し、IMCI を迅速に使用できるようにします。
説明このメリットは、以下のエンジンバージョンでサポートされています。
PolarDB for MySQL 8.0.1 リビジョンバージョン 8.0.1.1.36 以降。
PolarDB for MySQL 8.0.2 リビジョンバージョン 8.0.2.2.20 以降。
ログ再生の高速化: IMCI は、物理ログの再生に基づいて作成されます。ただし、システムが SQL クエリにほとんどのリソースを割り当てているときに IMCI を作成するためのリソースが不足していると、IMCI ログの再生レイテンシが増加する可能性があります。再生レイテンシにより、クエリが他のノードにルーティングされたり、ログ再生の完了を待機したりする可能性があり、SQL クエリが遅くなる可能性があります。サーバーレスアーキテクチャでは、読み取り専用 IMCI ノードはログ再生に追加のリソースを自動的に割り当て、ログ再生のパフォーマンスを向上させます。
説明このメリットは、8.0.1 リビジョンバージョン 8.0.1.1.45 以降の PolarDB for MySQL でサポートされています。
DDL 処理の高速化: IMCI で DDL 文を処理するには、長時間を要します。サーバーレスアーキテクチャでは、IMCI ノードはスレッドリソースを適応的に増やし、DDL 文の処理を高速化します。
説明このメリットは、以下のエンジンバージョンでサポートされています。
PolarDB for MySQL 8.0.1 リビジョンバージョン 8.0.1.1.44 以降。
PolarDB for MySQL 8.0.2 リビジョンバージョン 8.0.2.2.25 以降。
手順
定義済みスペックの読み取り専用 IMCI ノードのスケーリング範囲を指定する
PolarDB コンソール にログインします。
左上隅で、クラスタがデプロイされているリージョンを選択します。
クラスタを見つけて、その ID をクリックします。
[基本情報] ページの [データベースノード] セクションで、[サーバーレスを有効にする] をクリックします。
[サーバーレスを有効にする] ダイアログボックスで、[単一ノードの最大リソース] パラメータと [単一ノードの最小リソース] パラメータを構成します。詳細については、「定義済みスペックのクラスタでサーバーレス機能を有効にする」をご参照ください。
[OK] をクリックします。
定義済みスペックの読み取り専用 IMCI ノードでサーバーレス機能が有効になります。

サーバーレス読み取り専用 IMCI ノードを作成する
左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
左上隅で、クラスタがデプロイされているリージョンを選択します。
クラスタを見つけて、その ID をクリックします。
[基本情報] ページの [データベースノード] セクションで、[サーバーレスを有効にする] をクリックします。
[サーバーレスを有効にする] ダイアログボックスで、[読み取り専用 IMCI ノード] パラメータを構成し、[OK] をクリックします。この例では、1 つの読み取り専用 IMCI ノードが作成されます。
PolarDB は、リソースが 1 PolarDB Capacity Unit (PCU) から 16 PCU までの読み取り専用 IMCI ノードを自動的に作成します。
