system.parts
Содержит информацию о частях таблиц MergeTree.
Каждая строка описывает одну часть данных.
Колонки:
-
partition
(String) – Имя партиции. Чтобы узнать, что такое партиция, смотрите описание запроса ALTER.Форматы:
YYYYMM
для автоматической партиционирования по месяцам.any_string
при ручном партиционировании.
-
name
(String) – Имя части данных. Структура именования частей может использоваться для определения многих аспектов данных, загрузки и шаблонов слияния. Формат именования части следующий:
- Определения:
partition_id
- идентификатор партиционного ключаminimum_block_number
- идентификатор минимального номера блока в части. ClickHouse всегда сливает непрерывные блокиmaximum_block_number
- идентификатор максимального номера блока в частиlevel
- увеличивается на единицу с каждым дополнительным сливом части. Уровень 0 указывает, что это новая часть, которая еще не была объединена. Важно помнить, что все части в ClickHouse всегда неизменяемыdata_version
- необязательное значение, увеличивается при изменении части (опять же, измененные данные всегда записываются только в новую часть, так как части неизменяемы)
-
uuid
(UUID) - UUID части данных. -
part_type
(String) — Формат хранения части данных.Возможные значения:
Wide
— Каждая колонка хранится в отдельном файле в файловой системе.Compact
— Все колонки хранятся в одном файле в файловой системе.
Формат хранения данных контролируется настройками
min_bytes_for_wide_part
иmin_rows_for_wide_part
таблицы MergeTree. -
active
(UInt8) – Флаг, который указывает, активна ли часть данных. Если часть данных активна, она используется в таблице. В противном случае она удаляется. Неактивные части данных остаются после слияния. -
marks
(UInt64) – Количество марок. Чтобы получить примерное количество строк в части данных, умножьтеmarks
на гранулярность индекса (обычно 8192) (это подсказка не работает для адаптивной гранулярности). -
rows
(UInt64) – Количество строк. -
bytes_on_disk
(UInt64) – Общий размер всех файлов части данных в байтах. -
data_compressed_bytes
(UInt64) – Общий размер сжатых данных в части данных. Все вспомогательные файлы (например, файлы с метками) не включены. -
data_uncompressed_bytes
(UInt64) – Общий размер несжатых данных в части данных. Все вспомогательные файлы (например, файлы с метками) не включены. -
primary_key_size
(UInt64) – Объем памяти (в байтах), использованный значениями первичного ключа в файле primary.idx/cidx на диске. -
marks_bytes
(UInt64) – Размер файла с метками. -
secondary_indices_compressed_bytes
(UInt64) – Общий размер сжатых данных для вторичных индексов в части данных. Все вспомогательные файлы (например, файлы с метками) не включены. -
secondary_indices_uncompressed_bytes
(UInt64) – Общий размер несжатых данных для вторичных индексов в части данных. Все вспомогательные файлы (например, файлы с метками) не включены. -
secondary_indices_marks_bytes
(UInt64) – Размер файла с метками для вторичных индексов. -
modification_time
(DateTime) – Время, когда директория с частью данных была изменена. Это обычно соответствует времени создания части данных. -
remove_time
(DateTime) – Время, когда часть данных стала неактивной. -
refcount
(UInt32) – Количество мест, где используется часть данных. Значение больше 2 указывает на то, что часть данных используется в запросах или слияниях. -
min_date
(Date) – Минимальное значение ключа даты в части данных. -
max_date
(Date) – Максимальное значение ключа даты в части данных. -
min_time
(DateTime) – Минимальное значение ключа даты и времени в части данных. -
max_time
(DateTime) – Максимальное значение ключа даты и времени в части данных. -
partition_id
(String) – ID партиции. -
min_block_number
(UInt64) – Минимальный номер блока данных, который составляет текущую часть после слияния. -
max_block_number
(UInt64) – Максимальный номер блока данных, который составляет текущую часть после слияния. -
level
(UInt32) – Глубина дерева слияния. Ноль означает, что текущая часть была создана путем вставки, а не слияния других частей. -
data_version
(UInt64) – Номер, который используется для определения, какие изменения должны быть применены к части данных (изменения с версией выше, чемdata_version
). -
primary_key_bytes_in_memory
(UInt64) – Объем памяти (в байтах), используемый значениями первичного ключа. -
primary_key_bytes_in_memory_allocated
(UInt64) – Объем памяти (в байтах), зарезервированный для значений первичного ключа. -
is_frozen
(UInt8) – Флаг, который показывает, что существует резервная копия данных партиции. 1, резервная копия существует. 0, резервная копия не существует. Для получения дополнительной информации см. FREEZE PARTITION. -
database
(String) – Имя базы данных. -
table
(String) – Имя таблицы. -
engine
(String) – Имя движка таблицы без параметров. -
path
(String) – Абсолютный путь к папке с файлами частей данных. -
disk_name
(String) – Имя диска, который хранит часть данных. -
hash_of_all_files
(String) – sipHash128 сжатых файлов. -
hash_of_uncompressed_files
(String) – sipHash128 несжатых файлов (файлы с метками, файл индекса и т.д.). -
uncompressed_hash_of_compressed_files
(String) – sipHash128 данных в сжатых файлах, как если бы они были несжаты. -
delete_ttl_info_min
(DateTime) — Минимальное значение ключа даты и времени для TTL DELETE rule. -
delete_ttl_info_max
(DateTime) — Максимальное значение ключа даты и времени для TTL DELETE rule. -
move_ttl_info.expression
(Array(String)) — Массив выражений. Каждое выражение определяет TTL MOVE rule.
Массив move_ttl_info.expression
в основном сохраняется для обратной совместимости, теперь самый простой способ проверить правило TTL MOVE
- использовать поля move_ttl_info.min
и move_ttl_info.max
.
-
move_ttl_info.min
(Array(DateTime)) — Массив значений даты и времени. Каждое значение описывает минимальное значение ключа для TTL MOVE rule. -
move_ttl_info.max
(Array(DateTime)) — Массив значений даты и времени. Каждое значение описывает максимальное значение ключа для TTL MOVE rule. -
bytes
(UInt64) – Псевдоним дляbytes_on_disk
. -
marks_size
(UInt64) – Псевдоним дляmarks_bytes
.
Пример
См. также