Описание
Содержит информацию о частях таблиц 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. -
part_storage_type(String) — ТипDataPartStorage. Возможные значения:Packed— большинство файлов части хранится в одном архиве (проекции и несколько служебных файлов, напримерtxn_version.txt, записываются отдельно),Full— каждый файл хранится отдельно. -
active(UInt8) — Флаг, указывающий, активна ли часть данных. Активная часть данных используется в таблице; неактивная будет удалена. Неактивные части данных появляются после операций слияния и мутаций. -
marks(UInt64) — Количество меток. Чтобы получить приблизительное количество строк в части данных, умножьте количество меток на гранулярность индекса (обычно 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) — ID партиции. -
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) — Имя диска, на котором хранится часть данных. -
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) — Минимальное значение ключа даты и времени для правила TTL DELETE. -
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) — Имя кодека, используемого для сжатия этой части данных, если для столбца не задан явный кодек или используетсяCODEC(Default). При использованииallow_experimental_adaptive_codec_selectionотдельные блоки таких столбцов могут использовать другие кодеки; см.mergeTreeCodecBlockCounts. -
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)) — ID транзакции, создавшей или пытающейся создать этот объект. -
removal_tid_lock(UInt64) — Хеш removal_tid, используемый для блокировки объекта на время удаления. -
removal_tid(Tuple(UInt64, UInt64, UUID)) — ID транзакции, удалившей или пытающейся удалить этот объект -
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
part_storage_type: Full
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: []