PolarDB-Xは、パーティション内のクエリされたデータ行の統計とデータベース内のパーティション間のデータ分布を表示するヒートマップを生成するヒートマップ機能を提供します。 この機能は、ホットパーティションをすばやく識別するのに役立ちます。
注意事項
PolarDB-X V5.4.14以降のバージョンのみがヒートマップ機能をサポートしています。
インスタンスのヒートマップには、現在のインスタンスで自動パーティショニングモードを使用するデータベースのデータ分布のみが表示されます。
既定では、1つの論理データベースの合計パーティション数が8,000を超えると、データベースのパーティション内のクエリされたデータ行の統計は収集されません。 この制限を変更するには、カーネル構成のPARTITIONS_HEATMAP_COLLECTION_MAX_SINGLE_LOGIC_SCHEMA_COUNTパラメーターの値を変更します。
既定では、収集タスクで指定されたパーティションの数が8,000を超える場合、システムは8,000のパーティションでのみ照会されたデータ行の統計を収集します。 この制限を変更するには、カーネル構成のPARTITIONS_HEATMAP_COLLECTION_MAX_SCANパラメーターの値を変更します。
手順
にログインします。PolarDB for Xscaleコンソール.
上部のナビゲーションバーで、ターゲットインスタンスが配置されているリージョンを選択します。
On theインスタンスページをクリックし、PolarDB-X 2.0タブをクリックします。
対象インスタンスを見つけ、そのIDをクリックします。
左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、インスタンス内の各パーティションのクエリされたデータ行のデータ分布と統計を表示します。
データノードビューをオンにして、データノードに基づく統計を表示します。 これにより、データが物理データノード間で均等に分散されているかどうか、および特定のデータノードにホットデータが存在するかどうかを分析できます。
左側のヒストグラム: このセクションの長方形は、現在のインスタンスの論理データベース、論理テーブル、および論理パーティションを表します。 データノードビューモードでは、このセクションの長方形は、ストレージノード、論理データベース、論理テーブル、および論理パーティションを表します。 データノードおよび論理パーティションの矩形の長さは、データノードおよび論理パーティション内のデータのサイズを示す。 データノードまたは論理パーティションの長方形が長い場合、データノードまたは論理パーティションには大量のデータが含まれます。
下のヒストグラム: このセクションは、時間に基づいてクエリされたデータ行の合計を表示します。 時点を指定して、その時点ですべてのパーティションで照会されたデータ行の総数を表示できます。
右側のヒストグラム: このセクションでは、パーティションに基づいてクエリされたデータ行の合計が表示されます。 パーティションを指定して、パーティション内で照会されたデータ行の総数を表示できます。
heatmap: ページの中央部分にあるヒートマップの色の輝度は、パーティションのデータクエリ頻度のレベルを示します。 明るい色は、より高いレベルを示す。 明るい黄色は最高レベルを示し、黒は最低レベルを示します。
説明データが収集されない場合、ヒートマップにデータなしが表示されます。
スキャンされたパーティションの数が3,200を超えると、ヒートマップにTOO BIGが表示されます。
スキャンされた元のパーティションの総数が1,600を超えると、システムは統計をマージします。 マージ操作では、パーティションから収集された統計のみがマージされ、元のパーティションはマージされません。 システムは、同じデータノード上の同じ論理テーブル内のパーティションから収集された統計をマージします。 パーティション内のデータボリュームが小さい場合、マージできるパーティションの範囲は大きくなります。 マージ操作が完了した後にパーティションの総数が3,200を超えると、ヒートマップにTOO BIGが表示されます。
ポインタをヒートマップの特定のポイントに移動して、統計の詳細を表示します。 詳細に含まれるパラメーターを次の表に示します。
上部の色付きボックス: ボックスの色は、ヒートマップ内の点の色と同じです。 次の情報がボックスに表示されます。Started AtおよびEnded Atで指定された期間内に1分あたりに照会されるパーティション内のデータ行の数。
開始時刻: 収集期間の開始時刻。
終了時刻: 収集期間の終了時刻。
Current Number of Rows: パーティション内のデータ行の数。
説明パラメーター名の [Current] は、ヒートマップが開かれた時点を示し、[Started At] および [Ended At] で指定された期間は示しません。
データノード: パーティションが存在するデータノード。
説明-が表示された場合、パーティションは存在しません。 これは、統計の収集中に実行されるDDL操作またはマージ操作によって引き起こされる可能性があります。
データベース: パーティションが属する論理データベースの名前。
テーブル: パーティションが属する論理テーブルの名前。
Partition: 論理パーティションの名前。
サポートされる操作
ヒートマップデータ収集機能の無効化
設定ENABLE_SET_GLOBAL = true;
グローバルENABLE_PARTITIONS_HEATMAP_COLLECTION = false;
機能が無効になる前に収集された情報は、引き続きヒートマップに表示されます。
指定されたデータベース内の指定された論理テーブルのパーティション内のクエリされたデータ行の統計情報の収集
設定ENABLE_SET_GLOBAL = true;
set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '{database1 }#{ table1 }&{ table2 },{ database12 }#{ table1 }&{ table2}';
例
次の構成は、tpccデータベースの顧客テーブルと注文テーブルのパーティション、およびtpchデータベースの国テーブルのパーティションのクエリされたデータ行の統計を収集するために使用されます。
設定ENABLE_SET_GLOBAL = true; グローバルPARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc#customer&order,tpch#nation';
次の構成は、tpccデータベースおよびtpchデータベース内のすべての論理テーブルのパーティション内のクエリされたデータ行の統計を収集するために使用されます。
設定ENABLE_SET_GLOBAL = true; グローバルPARTITIONS_HEATMAP_COLLECTION_ONLY = 'tpcc,tpch' を設定します。
次の構成は、すべての論理データベースの顧客テーブルと注文テーブルのパーティション内のクエリされたデータ行の統計を収集するために使用されます。
設定ENABLE_SET_GLOBAL = true; グローバルPARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer,#order' を設定します。#### または ##### set global PARTITIONS_HEATMAP_COLLECTION_ONLY = '#customer&order';
次の構成は、すべての論理データベースのすべての論理テーブルのパーティション内のクエリされたデータ行の統計を収集するために使用されます。
設定ENABLE_SET_GLOBAL = true; グローバルPARTITIONS_HEATMAP_COLLECTION_ONLY = '';