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

PolarDB:読み取り専用列ストアノードでサーバーレス機能を有効にする

最終更新日:Nov 12, 2024

このトピックでは、読み取り専用列ストアノードでサーバーレス機能を有効にする方法について説明します。

前提条件

少なくとも1つの読み取り専用列ストアノードを含むPolarDB for MySQL 8.0 Enterprise Editionクラスターが作成されます。

実装方法

メリット

ビジネスピーク時およびオフピーク時の効果的なコスト削減

PolarDBのサーバーレスアーキテクチャでは、オフピーク時にクラスターの設定を自動的にダウングレードし、ピーク時に設定をアップグレードして負荷変動に対処できるため、コストを効果的に削減できます。 12ピーク時に32コアと64 GBのメモリが必要で、12オフピーク時に16コアと32 GBのメモリが必要なシナリオを想定して、パフォーマンス要件を満たします。 32コアおよび64 GBのメモリの構成と比較して、サーバーレスアーキテクチャを使用する16コアおよび32 GBのメモリの構成は、計算ノードのコストを25% 削減します。

最適化されたサーバーレスアーキテクチャ

読み取り専用ノードに実装されたインメモリ列インデックス (IMCI) 機能は、サーバーレスアーキテクチャの柔軟なリソース機能を最適化し、パフォーマンスとユーザーエクスペリエンスをさらに向上させます。

  • リソース使用率の向上: 読み取り専用列ストアノードは、キャッシュ、スレッドプール、実行メモリなどの複数の主要なシステムパラメーターをオンラインで設定できる包括的なリソース管理メカニズムを提供します。 サーバーレスアーキテクチャでは、最適なリソース使用率を確保するためにリソースのスケールアップまたはスケールダウン時にパラメーターが自動的に変更されます。

  • 高速化SQLクエリ: 読み取り専用列ストアノードは、主に分析シナリオで使用されます。 複雑なSQLクエリを迅速に実行するために、多くの場合、単一の複雑なSQLクエリに大量のリソースが割り当てられます。 複雑なSQLクエリの数が増えると、リソースの競合が発生する可能性があります。 その結果、キュー内の後続の単純なSQLクエリは複雑なクエリによってブロックされ、SQLクエリが遅くなります。 サーバーレスアーキテクチャでは、読み取り専用列ストアノードは、SQLキューイングの状況に基づいて追加のリソースを自動的に割り当て、キューイングによる低速SQLの問題を軽減します。

    説明

    この利点は、次のエンジンバージョンでサポートされています。

    • リビジョンバージョンが8.0.1.1.39以降のPolarDB for MySQL 8.0.1。

    • リビジョンバージョンが8.0.2.2.20以降のPolarDB for MySQL 8.0.2。

  • 起動時のIMCIの高速読み込み: クラスターの再起動後、読み取り専用列ストアノードが内部インデックス情報を再構築するまでに数分かかります。 この期間中、IMCIは利用できません。 サーバーレスアーキテクチャでは、読み取り専用の列ストアノードはエラスティックリソースを使用して再構築プロセスを高速化し、IMCIを迅速に使用できるようにします。

    説明

    この利点は、次のエンジンバージョンでサポートされています。

    • リビジョンバージョンが8.0.1.1.36以降のPolarDB for MySQL 8.0.1。

    • リビジョンバージョンが8.0.2.2.20以降のPolarDB for MySQL 8.0.2。

  • 高速化されたログ再生: IMCIは、物理ログの再生に基づいて作成されます。 ただし、システムがSQLクエリにほとんどのリソースを割り当てる場合、IMCIを作成するためのリソースが不十分なため、IMCIログの再生待ち時間が増加する可能性があります。 リプレイの待ち時間により、クエリが他のノードにルーティングされるか、ログのリプレイが完了するのを待ち、SQLクエリが遅くなる可能性があります。 サーバーレスアーキテクチャでは、読み取り専用列ストアノードは、ログ再生のために追加のリソースを自動的に割り当てて、ログ再生のパフォーマンスを向上させます。

    説明

    この利点は、リビジョンバージョンが8.0.1.1.45以降のPolarDB for MySQL 8.0.1でサポートされています。

  • 高速化されたDDL処理: IMCIでDDLステートメントを処理するには、長時間が必要です。 サーバーレスアーキテクチャでは、列ストアノードがスレッドリソースを適応的に増やし、DDLステートメントの処理を高速化します。

    説明

    この利点は、次のエンジンバージョンでサポートされています。

    • リビジョンバージョンが8.0.1.1.44以降のPolarDB for MySQL 8.0.1。

    • リビジョンバージョンが8.0.2.2.25以降のPolarDB for MySQL 8.0.2。

手順

仕様が定義された読み取り専用列ストアノードのスケーリング範囲の指定

  1. PolarDBコンソールにログインします。

  2. 左上隅で、クラスターがデプロイされているリージョンを選択します。

  3. クラスターを見つけて、そのIDをクリックします。

  4. [基本情報] ページの [データベースノード] セクションで、[サーバーレスの有効化] をクリックします。

  5. [サーバーレスの有効化] ダイアログボックスで、[単一ノードの最大リソース] および [単一ノードの最小リソース] パラメーターを設定します。 詳細については、「仕様が定義されているクラスターのサーバーレス機能の有効化」をご参照ください。

  6. [OK] をクリックします。

    サーバーレス機能は、仕様が定義された読み取り専用列ストアノードで有効になります。

    image.png

サーバーレス読み取り専用列ストアノードの作成

  1. 左側のナビゲーションウィンドウで、クラスターをクリックします。

  2. 左上隅で、クラスターがデプロイされているリージョンを選択します。

  3. クラスターを見つけて、そのIDをクリックします。

  4. [基本情報] ページの [データベースノード] セクションで、[サーバーレスの有効化] をクリックします。

  5. [サーバーレスの有効化] ダイアログボックスで、[読み取り専用列ストアノード] パラメーターを設定し、[OK] をクリックします。 この例では、1つの読み取り専用列ストアノードが作成されます。

    PolarDBは、リソースの範囲が1つのPolarDB Capacity Unit (PCU) から32個のPCUまでの読み取り専用列ストアノードを自動的に作成します。

    image.png