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

system.parts

Описание

Содержит информацию о частях таблиц 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. Чтобы получить приблизительное число строк в части данных, умножьте marks на гранулярность индекса (обычно 8192) (этот способ не работает для адаптивной гранулярности).

  • rows (UInt64) — Количество строк.

  • files (UInt64) — Количество файлов в части данных.

  • bytes_on_disk (UInt64) — Общий размер в байтах всех файлов частей данных.

  • data_compressed_bytes (UInt64) — Общий размер сжатых данных в части данных. Все вспомогательные файлы (например, файлы с метками) не учитываются.

  • data_uncompressed_bytes (UInt64) — Общий размер несжатых данных в части данных. Все вспомогательные файлы (например, файлы с marks) не учитываются.

  • 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 и ключ не загружен.

  • primary_key_bytes_in_memory_allocated (UInt64) — Объем памяти (в байтах), зарезервированный для значений первичного ключа. Равно 0, если включен primary_key_lazy_load и ключ не загружен.

  • index_granularity_bytes_in_memory (UInt64) — Объём памяти (в байтах), занимаемый значениями гранулярности индекса (будет равен 0, если primary_key_lazy_load=1 и use_primary_key_cache=1).

  • index_granularity_bytes_in_memory_allocated (UInt64) — Объём памяти (в байтах), зарезервированной для значений гранулярности индекса (будет равен 0, если primary_key_lazy_load=1 и use_primary_key_cache=1).

  • is_frozen (UInt8) — Флаг, показывающий наличие резервной копии данных партиции. 1 — резервная копия существует. 0 — резервная копия отсутствует. Подробнее см. FREEZE PARTITION.

  • database (String) — Имя базы данных.

  • table (String) — Имя таблицы.

  • engine (String) — Название движка таблицы без параметров.

  • disk_name (String) — Название диска, на котором хранится часть данных.

  • path (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) — Минимальное значение ключа даты и времени для правила 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) — Текущее состояние процесса удаления части.

Псевдонимы:

  • bytes — Псевдоним для bytes_on_disk.
  • marks_size — Псевдоним для marks_bytes.
  • part_name — Псевдоним для name.

Пример

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:                     []

См. также