AnalyticDB for MySQL では、「ストレージの概要」ページで、クラスタまたはテーブルの合計データサイズ、コールドデータサイズ、ホットデータサイズ、インデックスデータサイズ、パーティション数、およびノードのディスク使用率を確認できます。
クラスタのデータサイズの表示
「スペースの概要」セクションでは、現在のクラスタについて以下のメトリックを確認できます: 総データ量、ホットデータ量、コールドデータ量、および データの増加量(最近の24 xiao shi および 過去 1 週間の 1 日平均 を含む)。
-
Alibaba Cloud AnalyticDB for MySQL コンソール にログインします。左上隅でご利用のクラスタのリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックしてから、ご利用のクラスタ ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
スペースの概要 セクションで、総データ量、ホットデータ量、コールドデータ量、および データの増加量 の各メトリックを確認します。
カテゴリ
メトリック
説明
総データ量
総データ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルの合計データサイズです。
ホットデータ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットデータサイズです。
説明ホットデータの詳細については、「ホットデータとコールドデータの階層型ストレージ」をご参照ください。
コールドデータ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドデータサイズです。
説明予約モードの AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスタは、ホットデータとコールドデータの分離ストレージをサポートしていません。そのため、これらのクラスタではコールドデータサイズは表示されません。
コールドデータの詳細については、「ホットデータとコールドデータの階層型ストレージ」をご参照ください。
ホットデータ量
説明AnalyticDB for MySQL クラスタの各テーブルには、ホットデータパーティションやコールドデータパーティションなど複数のパーティションが含まれます。総データ量 パラメーターは、各パーティションにおいて以下のデータの型に分類されます:テーブルレコード、一般的なインデックス、プライマリキーのインデックス、および その他。
テーブルレコード
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットパーティションにおけるデータサイズです(一般的なインデックス または プライマリキーのインデックス 型のデータを除く)。
一般的なインデックス
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットパーティションにおける通常インデックスのデータサイズです。
説明AnalyticDB for MySQL クラスタでテーブルを作成すると、デフォルトで全カラムインデックスが作成されます。インデックスに大量のデータが含まれる場合は、特定のアイドルインデックスを削除してデータサイズを削減できます。詳細については、「スキーマ最適化」をご参照ください。
プライマリキーのインデックス
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットパーティションにおける主キーインデックスのデータサイズです。
説明特定の主キーインデックスに大量のデータが含まれる場合は、テーブルスペースの情報 セクションで該当の主キーインデックスを含むテーブルを特定し、インデックスを最適化できます。「テーブルストレージ情報」セクションの詳細については、本トピックの「テーブルのデータサイズの表示」セクションをご参照ください。
その他
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットパーティションにおけるメタデータおよび一時データのサイズです。
コールドデータ量
説明AnalyticDB for MySQL クラスタの各テーブルには、ホットデータパーティションやコールドデータパーティションなど複数のパーティションが含まれます。総データ量 パラメーターは、各パーティションにおいて以下のデータの型に分類されます:テーブルレコード、一般的なインデックス、プライマリキーのインデックス、および その他。
テーブルレコード
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドパーティションにおけるデータサイズです(一般的なインデックス または プライマリキーのインデックス 型のデータを除く)。
一般的なインデックス
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドパーティションにおける通常インデックスのデータサイズです。
説明AnalyticDB for MySQL クラスタでテーブルを作成すると、デフォルトで全カラムインデックスが作成されます。インデックスに大量のデータが含まれる場合は、特定のアイドルインデックスを削除してデータサイズを削減できます。詳細については、「スキーマ最適化」をご参照ください。
プライマリキーのインデックス
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドパーティションにおける主キーインデックスのデータサイズです。
説明特定の主キーインデックスに大量のデータが含まれる場合は、テーブルスペースの情報 セクションで該当の主キーインデックスを含むテーブルを特定し、インデックスを最適化できます。「テーブルストレージ情報」セクションの詳細については、本トピックの「テーブルのデータサイズの表示」セクションをご参照ください。
その他
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドパーティションにおけるメタデータおよび一時データのサイズです。
データの増加量
最近の24 xiao shi
AnalyticDB for MySQL クラスタの過去 24 時間における合計データサイズの増加量です。
数式:
過去 24 時間のデータ増加量 = 現在時刻に収集されたデータサイズ - 24 時間前に収集されたデータサイズ。過去 1 週間の 1 日平均
AnalyticDB for MySQL クラスタの過去 1 週間における合計データサイズの日次増加量です。
数式:
過去 1 週間の日次増加量 = (現在時刻に収集されたデータサイズ - 7 日前の同時刻に収集されたデータサイズ) / 7。
ノードのデータサイズおよびディスク使用率の表示
スペースの推移 セクションでは、指定した期間におけるノードのデータサイズおよびディスク使用率を確認できます。
-
Alibaba Cloud AnalyticDB for MySQL コンソール にログインします。左上隅でご利用のクラスタのリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックしてから、ご利用のクラスタ ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
指定した期間におけるノードのデータサイズおよびディスク使用率を確認します。スペースの推移 セクションのドロップダウンリストから期間を選択するか、総データ量 または ノードディスク使用率 チャート内でポインターをドラッグして期間を選択することもできます。
重要過去 30 日間のストレージ情報を確認できます。ただし、ストレージ情報を表示する際の選択可能な期間は最大 7 日間です。
AnalyticDB for MySQL Data Warehouse Edition (V3.0) の Cluster Edition のエラスティックモード および AnalyticDB for MySQL Data Lakehouse Edition (V3.0) と比較して、リザーブドモードの AnalyticDB for MySQL Data Warehouse Edition (V3.0) の 総データ量 チャートに表示されるメトリックは、総データ量、平均ノードデータ量、および 最大ノードデータ量 のみです。これは、リザーブドモードの AnalyticDB for MySQL Data Warehouse Edition (V3.0) がホットデータとコールドデータのストレージ分離をサポートしていないためです。総データ量
Cluster Edition のエラスティックモード および Data Lakehouse Edition (V3.0)
カテゴリ
メトリック
説明
総データ量
平均ノードホットデータ量
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの平均ホットデータサイズです。
最大ノードホットデータ量
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの最大ホットデータサイズです。
ホットデータ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルのホットデータサイズです。
コールドデータ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルのコールドデータサイズです。
ノードディスク使用率
ノード平均ディスク使用率
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの平均ディスク使用率です。
ノード最大ディスク使用率
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの最大ディスク使用率です。
数式:
最大ディスク使用率 = 最大ノードストレージ / (1 つの EIU の最大ホットデータサイズ / 0.9) × 100%。重要最大ノードストレージの単位は GB です。
AnalyticDB for MySQL Data Warehouse Edition (V3.0) の Cluster Edition のエラスティックモード および AnalyticDB for MySQL Data Lakehouse Edition (V3.0) では、データストレージを自動的にスケーリングできますが、エラスティック I/O ユニット (EIU) のホットデータサイズは 8 TB に制限されています。最大ディスク使用率を計算する場合は、8000 GB の値を使用する必要があります。
たとえば、ノードの最大ホットデータサイズが 8000 GB の場合、最大ディスク使用率は次の数式で計算されます:8000 / (8000 / 0.9) × 100% = 90%。
ディスク使用量のしきい値 (90%)
AnalyticDB for MySQL クラスタの最大ディスク使用率がディスク使用率しきい値 (90%) を超えると、クラスタはロックされます。クラスタがロックされた後は、クラスタからデータのクエリは可能ですが、クラスタへのデータ書き込みはできません。
CloudMonitor コンソール にログインして、最大ディスク使用率のしきい値を 80% に設定することを推奨します。これにより、問題をタイムリーに対処し、クラスタのロックを防止できます。詳細については、「アラートルールの作成」をご参照ください。
予約モード
カテゴリ
メトリック
説明
総データ量
総データ量
AnalyticDB for MySQL クラスタ内のすべてのテーブルの合計データサイズです。
平均ノードデータ量
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの平均データサイズです。
最大ノードデータ量
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの最大データサイズです。
ノードディスク使用率
ノード平均ディスク使用率
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの平均ディスク使用率です。
ノード最大ディスク使用率
AnalyticDB for MySQL クラスタ内のすべてのストレージノードの最大ディスク使用率です。
数式:
最大ディスク使用率 = (ノードグループの最大ストレージ / 各ノードグループのストレージ) × 100%。説明ノードグループの最大ストレージおよび各ノードグループのストレージの単位は GB です。
たとえば、2 つのノードグループを購入したとします。各ノードグループのストレージは 200 GB です。クラスタ内のすべてのテーブルの合計データサイズは 140 GB で、1 つのノードグループに 60 GB、もう 1 つのノードグループに 80 GB 格納されている場合、最大ディスク使用率は次の数式で計算されます:(80 / 200) × 100% = 40%。
ディスク使用量のしきい値 (90%)
AnalyticDB for MySQL クラスタの最大ディスク使用率がディスク使用率しきい値 (90%) を超えると、クラスタはロックされます。クラスタがロックされた後は、クラスタからデータのクエリは可能ですが、クラスタへのデータ書き込みはできません。
CloudMonitor コンソール にログインして、最大ディスク使用率のしきい値を 80% に設定することを推奨します。これにより、問題をタイムリーに対処し、クラスタのロックを防止できます。詳細については、「アラートルールの作成」をご参照ください。
テーブルのデータサイズの表示
テーブルスペースの情報 セクションでは、各テーブルのストレージ情報(総データ量、ホットデータ量、コールドデータ量、および 一般的なインデックス の各メトリックなど)を確認できます。
-
Alibaba Cloud AnalyticDB for MySQL コンソール にログインします。左上隅でご利用のクラスタのリージョンを選択し、左側のナビゲーションウィンドウで クラスターリスト をクリックしてから、ご利用のクラスタ ID をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
テーブルスペースの情報 セクションで、合計データサイズ、ホットデータサイズ、コールドデータサイズ、テーブル行数、および パーティション数 などのテーブルメトリックを確認します。
メトリック
説明
データベース
データベース名です。
テーブル名
テーブル名です。
スペース割合
テーブルの合計データサイズがクラスタの合計データサイズに占める割合です。
数式:
ストレージ割合 = (テーブルの合計データサイズ / クラスタの合計データサイズ) × 100%。総データ量
テーブルの合計データサイズです。合計データサイズは、以下のいずれかの数式で計算できます。
数式 1:
合計データサイズ = ホットデータサイズ + コールドデータサイズ。数式 2:
合計データサイズ = テーブルレコードのデータサイズ + 通常インデックスのデータサイズ + 主キーインデックスのデータサイズ + その他のデータサイズ。
ホットデータ量
テーブル内のすべてのホットパーティションのデータサイズで、テーブルレコード、一般的なインデックス、プライマリキーのインデックス、および その他 の各タイプのデータを含みます。
コールドデータ量
テーブル内のすべてのコールドパーティションのデータサイズで、テーブルレコード、一般的なインデックス、プライマリキーのインデックス、および その他 の各タイプのデータを含みます。
テーブルレコード
テーブル内のすべてのパーティションのデータサイズで、一般的なインデックス または プライマリキーのインデックス 型のデータを除きます。
一般的なインデックス
テーブル内のすべてのパーティションにおける通常インデックスのデータサイズです。
プライマリキーのインデックス
テーブル内のすべてのパーティションにおける主キーインデックスのデータサイズです。
その他
テーブル内のすべてのパーティションにおけるメタデータおよび一時データのサイズです。
テーブル行数
テーブルの行数です。
パーティション数
テーブルのパーティション数です。
SQL を使用したストレージ使用量のクエリ
SQL ステートメントを使用して information_schema.kepler_partitions および information_schema.kepler_meta_tables システムテーブルをクエリし、クラスタレベルのストレージ使用量およびクラスタ内各テーブルのホットストレージとコールドストレージの使用量の詳細を取得することもできます。以下の手順を実行してください。
クラスタ内のシャード数を取得します。
select count(1) from information_schema.kepler_meta_shards;次の SQL ステートメント内の
${shardCount}を、ステップ 1 で取得したシャード数に置き換え、ステートメントを実行します。この SQL ステートメントは、クラスタレベルのストレージ使用量のサマリーをクエリするために使用します。select sum(totalSize) as totalSize, -- クラスタの合計データサイズ sum(hotTotalSize) as hotTotalSize, -- ホットデータの合計サイズ sum(hotDataSize) as hotDataSize, -- ホットデータ:テーブルレコード sum(hotIndexSize) as hotIndexSize, -- ホットデータ:セカンダリインデックス sum(hotPkSize) as hotPkSize, -- ホットデータ:主キーインデックス sum(hotOtherSize) as hotOtherSize, -- ホットデータ:その他(メタデータなど) sum(coldTotalSize) as coldTotalSize, -- コールドデータの合計サイズ sum(coldDataSize) as coldDataSize, -- コールドデータ:テーブルレコード sum(coldIndexSize) as coldIndexSize, -- コールドデータ:セカンダリインデックス sum(coldPkSize) as coldPkSize, -- コールドデータ:主キーインデックス sum(coldOtherSize) as coldOtherSize -- コールドデータ:その他(メタデータなど) from (select lower(p.schema_name) as schemaName, lower(p.table_name) as tableName, (sum(LOCAL_DATA_SIZE) + sum(REMOTE_DATA_SIZE)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as totalSize, sum(LOCAL_DATA_SIZE) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as hotTotalSize, sum(if(LOCAL_DATA_SIZE > 0, DETAIL_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as hotDataSize, sum(if(LOCAL_DATA_SIZE > 0, INDEX_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as hotIndexSize, sum(if(LOCAL_DATA_SIZE > 0, PK_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as hotPkSize, sum(if(LOCAL_DATA_SIZE > 0, LOCAL_DATA_SIZE - DETAIL_SIZE - INDEX_SIZE - PK_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as hotOtherSize, sum(REMOTE_DATA_SIZE) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as coldTotalSize, sum(if(REMOTE_DATA_SIZE > 0, DETAIL_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as coldDataSize, sum(if(REMOTE_DATA_SIZE > 0, INDEX_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as coldIndexSize, sum(if(REMOTE_DATA_SIZE > 0, PK_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as coldPkSize, sum(if(REMOTE_DATA_SIZE > 0, REMOTE_DATA_SIZE - DETAIL_SIZE - INDEX_SIZE - PK_SIZE, 0)) * if(t.distribute_type = 'broadcast', ${shardCount}, 1) as coldOtherSize from information_schema.kepler_partitions p join information_schema.kepler_meta_tables t on lower(p.schema_name) = lower(t.table_schema) and lower(p.table_name) = lower(t.table_name) where p.schema_name not in ('analyticdb', 'INFORMATION_SCHEMA', 'MYSQL') group by schemaName, tableName,t.distribute_type) pp;次の SQL ステートメント内の
${shardCount}を、ステップ 1 で取得したシャード数に置き換え、${totalSize}を、ステップ 2 のクエリ結果のtotalSize値に置き換え、ステートメントを実行します。この SQL ステートメントは、各テーブルのストレージ使用量をクエリするために使用します。select lower(p.schema_name) as schemaName, -- データベース名 lower(p.table_name) as tableName, -- テーブル名 count_if(p.partition_id >= 0) as totalPartitionCount, -- パーティション総数 sum(row_count) as totalRowCount, -- 行総数 sum(detail_size) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalDataSize, -- テーブルレコードのデータサイズ sum(index_size) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalIndexSize, -- セカンダリインデックスのデータサイズ sum(pk_size) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalPkSize, -- 主キーインデックスのデータサイズ sum(remote_data_size) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalRemoteDataSize, -- コールドデータサイズ sum(local_data_size) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalLocalDataSize,-- ホットデータサイズ (sum(remote_data_size) + sum(local_data_size)) * if(t.distribute_type='broadcast', ${shardCount}, 1) as totalSize, -- 合計データサイズ(ホット + コールド) (sum(remote_data_size) + sum(local_data_size) - sum(detail_size) - sum(index_size) - sum(pk_size)) * if(t.distribute_type='broadcast', ${shardCount}, 1) as otherSize, -- その他データサイズ(メタデータ、一時データなど) round(100 * (sum(remote_data_size) + sum(local_data_size)) * if(t.distribute_type='broadcast', ${shardCount}, 1) / ${totalSize}, 2) as spaceRatio -- スペース使用率 (%) from information_schema.kepler_partitions p join information_schema.kepler_meta_tables t on lower(p.schema_name) = lower(t.table_schema) and lower(p.table_name) = lower(t.table_name) where p.schema_name not in ('analyticdb', 'INFORMATION_SCHEMA', 'MYSQL') -- (オプション)データベース名でフィルタリング -- AND lower(p.schema_name) = 'your_db_name' -- (オプション)テーブル名のあいまい一致でフィルタリング -- AND LOWER(p.table_name) LIKE '%keyword%' group by schemaName, tableName, t.distribute_type order by totalSize desc;
関連操作
操作 | 説明 |
AnalyticDB for MySQL Data Lakehouse Edition (V3.0) クラスタのストレージ概要をクエリします。 | |
AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスタのテーブル統計情報をクエリします。 | |
AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスタのパフォーマンスデータをクエリします。 |
よくある質問
DROP TABLE 文を実行してもディスク領域が解放されない
DROP TABLE 文を実行すると、テーブルデータはテーブルのゴミ箱に移動します。ゴミ箱内のデータは引き続きストレージ領域を占有します。
テーブルを削除した後もディスク領域が解放されない場合は、ゴミ箱内にテーブルが存在するかどうかを確認してください。ストレージ領域を解放するには、ゴミ箱を手動で消去できます。
PURGE RECYCLE_BIN TABLE <table_name_in_ADB_RECYCLE_BIN>;