file_cache_info
Обзор
Системная таблица file_cache_info предоставляет записи File Cache на уровне блоков со всех работающих узлов BE. Используйте её для анализа объёма кэша по tablet, узлам BE, путям или типам кэша, а также для исследования неравномерного распределения кэша или неожиданного роста его объёма.
Эта системная таблица поддерживается в Doris 4.1 и более поздних версиях. В Doris 4.0.x она недоступна.
Каждая строка соответствует одному кэшированному блоку. Результат отражает текущее состояние кэша и может меняться по мере того, как запросы добавляют записи в кэш или вытесняют их.
Запрос к этой таблице сканирует сохранённые метаданные File Cache на выбранных узлах BE и может создавать дополнительную нагрузку на I/O, если кэш содержит много блоков. Избегайте частых запросов без фильтров. Если нужны данные только с определённых узлов BE, используйте фильтр по BE_ID.
База данных
information_schema
Сведения о таблице
| Имя столбца | Тип | Описание |
|---|---|---|
HASH | STRING | Хеш удалённого файла, которому принадлежит кэшированный блок. |
OFFSET | BIGINT | Начальное смещение кэшированного блока в удалённом файле, в байтах. |
TABLET_ID | BIGINT | ID tablet, связанного с кэшированным блоком. Значение равно 0, если блок не связан с tablet. |
SIZE | BIGINT | Размер кэшированного блока, в байтах. |
TYPE | STRING | Тип кэша. Возможные значения: normal, index, ttl и disposable. |
REMOTE_PATH | STRING | Зарезервирован для пути к удалённому файлу. Сейчас возвращает пустую строку. |
CACHE_PATH | STRING | Локальный корневой путь File Cache на узле BE. |
BE_ID | BIGINT | ID узла BE, на котором хранится кэшированный блок. |
Примеры
Запрос записей кэша для tablet
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 |
+----------------------------------+--------+---------------+-------+-------+-------------+------------------------------+---------------+
Сводка использования кэша
Следующий запрос суммирует объём кэша, занимаемый tablet, на каждом узле 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 |
+---------------+---------------+-------+-------------+