に最終更新
file_cache_info
概要
file_cache_info システムテーブルには、稼働中のすべての BE ノードにあるブロック単位の File Cache エントリが表示されます。タブレット、BE、キャッシュパス、キャッシュタイプごとのキャッシュ使用量を分析したり、キャッシュの偏りや予期しない増加を調査したりする際に使用します。
Version
このシステムテーブルは Doris 4.1 以降でサポートされています。Doris 4.0.x では使用できません。
各行はキャッシュされた単一のブロックを表します。結果は現在のキャッシュ状態を反映するため、クエリによってキャッシュエントリが追加または削除される間に変化することがあります。
注意
このテーブルへのクエリは、対象の BE ノード上に永続化された File Cache メタデータをスキャンするため、キャッシュ内のブロックが多い場合は追加の I/O が発生することがあります。フィルターを指定しないクエリを頻繁に実行しないでください。特定の BE ノードのデータのみが必要な場合は、BE_ID で絞り込んでください。
データベース
information_schema
テーブル情報
| カラム名 | 型 | 説明 |
|---|---|---|
HASH | STRING | キャッシュされたブロックが属するリモートファイルのハッシュ値。 |
OFFSET | BIGINT | リモートファイル内でのキャッシュされたブロックの開始オフセット。単位はバイト。 |
TABLET_ID | BIGINT | キャッシュされたブロックに関連付けられたタブレットの ID。タブレットに関連付けられていない場合は 0。 |
SIZE | BIGINT | キャッシュされたブロックのサイズ。単位はバイト。 |
TYPE | STRING | キャッシュタイプ。取り得る値は normal、index、ttl、disposable。 |
REMOTE_PATH | STRING | リモートファイルのパス用に予約されています。現在は空文字列を返します。 |
CACHE_PATH | STRING | BE ノード上のローカル File Cache のルートパス。 |
BE_ID | BIGINT | キャッシュされたブロックを格納する BE ノードの ID。 |
例
タブレットのキャッシュエントリを照会する
SELECT *
FROM information_schema.file_cache_info
WHERE TABLET_ID = 1761571031445;
+----------------------------------+--------+---------------+-------+-------+-------------+------------------------------+---------------+
| HASH | OFFSET | TABLET_ID | SIZE | TYPE | REMOTE_PATH | CACHE_PATH | BE_ID |
+----------------------------------+--------+---------------+-------+-------+-------------+------------------------------+---------------+
| 468448215c52334ae5bee147259b1027 | 0 | 1761571031445 | 15120 | index | | /mnt/disk1/project/filecache | 1761571031251 |
| 71bb73d34cd8ffe280b16dd329df5ba1 | 15120 | 1761571031445 | 13117 | index | | /mnt/disk1/project/filecache | 1761571031251 |
| 77c6b69d1a7c4fe740a11bab5c1bbaa3 | 28237 | 1761571031445 | 12249 | index | | /mnt/disk1/project/filecache | 1761571031251 |
+----------------------------------+--------+---------------+-------+-------+-------------+------------------------------+---------------+
キャッシュ使用量を集計する
次のクエリは、BE とキャッシュタイプごとに、タブレットが占めるキャッシュ容量を集計します。
SELECT BE_ID, TABLET_ID, TYPE, SUM(SIZE) AS CACHE_BYTES
FROM information_schema.file_cache_info
WHERE TABLET_ID = 1761571031445
GROUP BY BE_ID, TABLET_ID, TYPE
ORDER BY CACHE_BYTES DESC;
+---------------+---------------+-------+-------------+
| BE_ID | TABLET_ID | TYPE | CACHE_BYTES |
+---------------+---------------+-------+-------------+
| 1761571031251 | 1761571031445 | index | 40486 |
+---------------+---------------+-------+-------------+