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

PolarDB:パーティションヒートマップ

最終更新日:Mar 28, 2026

ヒートマップは、時間経過に伴う各パーティションにおけるクエリ活動を可視化します。各行が1つのパーティションを表し、色の輝度がクエリ頻度を示します。明るい黄色は最も高い頻度、黒は最も低い頻度を意味します。パフォーマンスボトルネックが発生する前に、ホットパーティションや不均一なデータ分散を特定するために、このヒートマップをご利用ください。

ヒートマップは、現在のインスタンスで自動パーティショニング(AUTO モード)を使用しているデータベースのみを対象とします。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

基本概念

ホットパーティション:他のパーティションと比較して、著しく高いクエリ数を受信するパーティションです。分散データベースにおいて、ホットパーティションはパフォーマンスボトルネックを引き起こす可能性があります。

パーティションのマージ:スキャン対象となる元のパーティション総数が 1,600 を超える場合、表示を管理可能にするため、システムが統計情報をマージします。このマージでは、同一のデータノード上にある同一論理テーブル内のパーティションがグループ化されます。マージは統計情報の表示にのみ影響し、基盤となるデータには影響しません。

制限事項

制限詳細
単一データベースのパーティション数制限単一の論理データベースに 8,000 を超えるパーティションが存在する場合、そのデータベースに対するデータ収集はデフォルトでスキップされます。制限値を引き上げるには、PARTITIONS_HEATMAP_COLLECTION_MAX_SINGLE_LOGIC_SCHEMA_COUNT カーネルパラメーターを更新してください。
コレクションタスクのスキャン制限各コレクションタスクは、デフォルトで最大 8,000 パーティションをスキャンします。制限値を引き上げるには、PARTITIONS_HEATMAP_COLLECTION_MAX_SCAN カーネルパラメーターを更新してください。
表示制限スキャンされたパーティション数が 3,200 を超える場合、ヒートマップには TOO BIG と表示されます。また、スキャンされた元のパーティション総数が 1,600 を超えると、システムが統計情報をマージします。マージ後もパーティション数が 3,200 を超える場合は、同様に TOO BIG と表示されます。
データなしまだデータが収集されていない場合、ヒートマップには NO DATA と表示されます。

データ収集の有効化または無効化

ヒートマップにデータを表示するには、あらかじめデータ収集を有効化する必要があります。特権アカウントを使用して、以下の SQL コマンドを実行してください。

有効化:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL ENABLE_PARTITIONS_HEATMAP_COLLECTION = true;

無効化:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL ENABLE_PARTITIONS_HEATMAP_COLLECTION = false;
機能を無効化する前に収集されたデータは、引き続きヒートマップ上で表示されます。

特定のデータベースまたはテーブルの統計情報の収集

デフォルトでは、システムはすべてのデータベースおよびテーブルの統計情報を収集します。収集対象を限定してオーバーヘッドを削減するには、PARTITIONS_HEATMAP_COLLECTION_ONLY パラメーターを設定してください。

構文:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = '{database}#{table1}&{table2},{database2}#{table1}';

例:

customer テーブルおよび order テーブル(いずれも tpcc データベース内)、および nation テーブル(tpch データベース内)の統計情報を収集する場合:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc#customer&order,tpch#nation';

tpcc および tpch のすべてのテーブルの統計情報を収集する場合:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc,tpch';

すべてのデータベースにわたる customer および order テーブルの統計情報を収集する場合:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer,#order';

または、同等の記述として:

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer&order';

すべてのデータベースおよびテーブルの統計情報を収集する場合(デフォルト動作):

SET ENABLE_SET_GLOBAL = true;
SET GLOBAL PARTITIONS_HEATMAP_COLLECTION_ONLY = '';

ヒートマップの表示

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

  2. 画面上部のナビゲーションバーから、ご利用のインスタンスがデプロイされているリージョンを選択します。

  3. インスタンス ページで、PolarDB-X 2.0 タブをクリックします。

  4. インスタンス ID をクリックします。

  5. 左側のナビゲーションウィンドウで、診断と最適化 > ヒートマップ を選択します。

ヒートマップページには、以下の4つのセクションがあります。

セクション内容
左側ヒストグラム論理データベース、論理テーブル、論理パーティションを表す矩形。矩形の長さはデータ量を示し、長いほどデータ量が多いことを意味します。
下部ヒストグラム時間軸ごとに集計されたクエリ対象行数の合計です。任意の時点をクリックすると、その時点で全パーティションに対してクエリされた行数を確認できます。
右側ヒストグラムパーティションごとに集計されたクエリ対象行数の合計です。任意のパーティションをクリックすると、そのパーティションのクエリ総数を確認できます。
ヒートマップ(中央)各パーティション・各時間間隔における色の輝度。明るい黄色=最も高いクエリ頻度、黒=最も低いクエリ頻度。

Data Node View を有効化すると、左側ヒストグラムがデータノード単位で再編成されます。このモードでは、左側ヒストグラムにストレージノード、論理データベース、論理テーブル、論理パーティションが表示されるため、クエリ負荷が物理的なデータノード間で均等に分散されているかを確認したり、ホットパーティションを保持するノードを特定したりすることが容易になります。

特定のデータポイントの確認

ヒートマップ内の任意のセルにマウスを合わせると、以下の詳細情報が表示されます。

項目説明
色付きボックスヒートマップのセルと一致する色で、収集期間中の1分あたりのクエリ行数を示します。
開始時刻収集期間の開始時刻です。
終了時刻収集期間の終了時刻です。
現在の行数ヒートマップを開いた時点でのパーティション内の行数です(「開始時刻」または「終了時刻」時点ではありません)。
データノード当該パーティションが配置されているデータノードです。「-」は、DDL 操作や収集中のマージなどにより、パーティションが既に存在しないことを意味します。
データベース当該パーティションが属する論理データベースです。
テーブル当該パーティションが属する論理テーブルです。
パーティション当該論理パーティションの名前です。