Перейти к основному содержанию

Описание

Содержит информацию о частях таблиц MergeTree. Каждая строка описывает одну часть данных.

Столбцы

  • partition (String) — Идентификатор партиции (строковое представление, полученное из выражения ключа партиционирования таблицы).
  • name (String) — Имя части данных. По структуре имени части можно определить многие аспекты данных, а также схемы приёма и слияния. Формат имени части выглядит следующим образом:
<partition_id>_<minimum_block_number>_<maximum_block_number>_<level>_<data_version>
  • Определения:
    • 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) — Количество строк.
  • files (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) — идентификатор партиции.
  • min_block_number (Int64) — Минимальный номер частей данных, из которых состоит текущая часть после слияния.
  • max_block_number (Int64) — Максимальное количество частей данных, из которых состоит текущая часть после слияния.
  • level (UInt32) — Глубина дерева слияний. Ноль означает, что текущая часть была создана операцией вставки, а не в результате слияния других частей.
  • data_version (UInt64) — число, используемое для определения того, какие мутации должны быть применены к части данных (мутации с версией выше, чем у data_version).
  • primary_key_bytes_in_memory (UInt64) — Объём памяти (в байтах), занимаемый значениями первичного ключа. Будет равен 0, если primary_key_lazy_load включён и ключ не загружен. Если значение не равно нулю, эти байты находятся в самой части и учитываются в jemalloc.mergetree_arena.active_bytes. Они НИКОГДА не учитываются в PrimaryIndexCacheBytes — для каждой части это взаимоисключающие варианты: индекс находится либо в части (эта метрика), либо в общем PrimaryIndexCache (другая метрика), в зависимости от primary_key_lazy_load и use_primary_key_cache.
  • primary_key_bytes_in_memory_allocated (UInt64) — Объём памяти (в байтах), зарезервированный под значения первичного ключа. Равен 0, если primary_key_lazy_load включён и ключ не загружен. Если значение не равно нулю, входит в jemalloc.mergetree_arena.active_bytes. О связи с PrimaryIndexCacheBytes см. примечание к primary_key_bytes_in_memory.
  • index_granularity_bytes_in_memory (UInt64) — Объём памяти (в байтах), используемой значениями гранулярности индекса (будет равен 0, если primary_key_lazy_load=1 и use_primary_key_cache=1). Если значение не равно нулю, эти байты частично принадлежат и учитываются в jemalloc.mergetree_arena.active_bytes.
  • index_granularity_bytes_in_memory_allocated (UInt64) — Объём памяти (в байтах), зарезервированной для значений гранулярности индекса (будет равен 0, если primary_key_lazy_load=1 и use_primary_key_cache=1). Если значение отлично от нуля, оно входит в jemalloc.mergetree_arena.active_bytes.
  • is_frozen (UInt8) — Флаг, указывающий на наличие резервной копии данных партиции. 1 — резервная копия существует. 0 — резервной копии нет. Подробнее см. FREEZE PARTITION.
  • database (String) — Название базы данных.
  • table (String) — Название таблицы.
  • engine (String) — Название движка таблицы без параметров.
  • disk_name (String) — Имя диска, на котором хранится data part.
  • path (String) — Абсолютный путь к папке, содержащей файлы части данных.
  • hash_of_all_files (String) — sipHash128 для сжатых файлов.
  • hash_of_uncompressed_files (String) — sipHash128 несжатых файлов (включая файлы marks, индексный файл и т. д.).
  • uncompressed_hash_of_compressed_files (String) — sipHash128 данных в сжатых файлах, вычисленный так, как если бы они были несжатыми.
  • delete_ttl_info_min (DateTime) — Минимальное значение ключа даты и времени для правила DELETE в TTL.
  • delete_ttl_info_max (DateTime) — Максимальное значение ключа даты и времени в правиле TTL DELETE.
  • move_ttl_info.expression (Array(String)) — Массив выражений. Каждое выражение задаёт правило TTL MOVE.
  • move_ttl_info.min (Array(DateTime)) — Массив значений даты и времени. Каждый элемент задаёт минимальное значение ключа для правила TTL MOVE.
  • move_ttl_info.max (Array(DateTime)) — Массив значений даты и времени. Каждый элемент содержит максимальное значение ключа для правила TTL MOVE.
  • default_compression_codec (String) — Имя кодека, используемого для сжатия этой части данных (если для столбцов явно не задан кодек).
  • recompression_ttl_info.expression (Array(String)) — выражение TTL.
  • recompression_ttl_info.min (Array(DateTime)) — Минимальное значение вычисленного TTL-выражения в этой части. Используется, чтобы понять, есть ли в ней хотя бы одна строка с истёкшим TTL.
  • recompression_ttl_info.max (Array(DateTime)) — Максимальное значение вычисленного TTL-выражения в данной части. Используется, чтобы понять, содержит ли эта часть все строки с истёкшим TTL.
  • group_by_ttl_info.expression (Array(String)) — выражение TTL.
  • group_by_ttl_info.min (Array(DateTime)) — Минимальное значение вычисленного выражения TTL в этой части данных. Используется, чтобы понять, есть ли в ней хотя бы одна строка с истекшим TTL.
  • group_by_ttl_info.max (Array(DateTime)) — Максимальное значение вычисленного TTL-выражения в этой части. Используется, чтобы понять, содержатся ли в ней все строки с истёкшим TTL.
  • rows_where_ttl_info.expression (Array(String)) — выражение TTL.
  • rows_where_ttl_info.min (Array(DateTime)) — Минимальное значение вычисленного TTL-выражения в этой части. Используется, чтобы определить, есть ли здесь хотя бы одна строка с истёкшим TTL.
  • rows_where_ttl_info.max (Array(DateTime)) — Максимальное значение вычисленного TTL-выражения в этой части. Используется, чтобы понять, содержатся ли здесь все строки с истёкшим TTL.
  • projections (Array(String)) — Список имён проекций, вычисленных для этой части данных.
  • visible (UInt8) — Флаг, указывающий, видна ли эта часть для SELECT-запросов.
  • creation_tid (Tuple(UInt64, UInt64, UUID)) — идентификатор транзакции, которая создала этот объект или пытается его создать.
  • removal_tid_lock (UInt64) — хеш значения removal_tid, используемый для блокировки объекта при удалении.
  • removal_tid (Tuple(UInt64, UInt64, UUID)) — идентификатор транзакции, которая удалила этот объект или пытается его удалить
  • creation_csn (UInt64) — CSN транзакции, в результате которой был создан этот объект
  • removal_csn (UInt64) — CSN транзакции, в результате которой был удалён этот объект
  • has_lightweight_delete (UInt8) — Флаг, указывающий, содержит ли часть маску легковесного удаления.
  • last_removal_attempt_time (DateTime) — Время последней попытки сервера удалить эту часть.
  • removal_state (String) — Текущее состояние процесса удаления части данных.

Пример

SELECT * FROM system.parts LIMIT 1 FORMAT Vertical;
Row 1:
──────
partition:                             tuple()
name:                                  all_1_4_1_6
part_type:                             Wide
active:                                1
marks:                                 2
rows:                                  6
bytes_on_disk:                         310
data_compressed_bytes:                 157
data_uncompressed_bytes:               91
secondary_indices_compressed_bytes:    58
secondary_indices_uncompressed_bytes:  6
secondary_indices_marks_bytes:         48
marks_bytes:                           144
modification_time:                     2020-06-18 13:01:49
remove_time:                           1970-01-01 00:00:00
refcount:                              1
min_date:                              1970-01-01
max_date:                              1970-01-01
min_time:                              1970-01-01 00:00:00
max_time:                              1970-01-01 00:00:00
partition_id:                          all
min_block_number:                      1
max_block_number:                      4
level:                                 1
data_version:                          6
primary_key_bytes_in_memory:           8
primary_key_bytes_in_memory_allocated: 64
is_frozen:                             0
database:                              default
table:                                 months
engine:                                MergeTree
disk_name:                             default
path:                                  /var/lib/clickhouse/data/default/months/all_1_4_1_6/
hash_of_all_files:                     2d0657a16d9430824d35e327fcbd87bf
hash_of_uncompressed_files:            84950cc30ba867c77a408ae21332ba29
uncompressed_hash_of_compressed_files: 1ad78f1c6843bbfb99a2c931abe7df7d
delete_ttl_info_min:                   1970-01-01 00:00:00
delete_ttl_info_max:                   1970-01-01 00:00:00
move_ttl_info.expression:              []
move_ttl_info.min:                     []
move_ttl_info.max:                     []

См. также

Последнее изменение 10 июня 2026 г.