Descrição
Contém informações sobre as partes das tabelas MergeTree.
Cada linha descreve uma parte de dados.
Colunas
-
partition(String) — Identificador da partição (representação textual derivada da expressão de chave de partição da tabela). -
name(String) — Nome da parte de dados. A estrutura de nomenclatura da parte pode ser usada para determinar vários aspectos dos padrões de dados, de ingestão e de merge. O formato de nomenclatura da parte é o seguinte:<partition_id>_<minimum_block_number>_<maximum_block_number>_<level>_<data_version>- Definições:
partition_id- identifica a chave de partiçãominimum_block_number- identifica o número mínimo do bloco na parte. O ClickHouse sempre mescla blocos contíguosmaximum_block_number- identifica o número máximo do bloco na partelevel- é incrementado em um a cada mesclagem adicional da parte. Um nível igual a 0 indica que esta é uma nova parte que ainda não foi mesclada. É importante lembrar que todas as partes no ClickHouse são sempre imutáveisdata_version- valor opcional, incrementado quando uma parte é alterada (novamente, os dados alterados são sempre gravados apenas em uma nova parte, pois as partes são imutáveis)
- Definições:
-
uuid(UUID) — O UUID da parte de dados. -
part_type(String) — O formato de armazenamento da parte de dados. Valores possíveis:Wide— cada coluna é armazenada em um arquivo separado;Compact— todas as colunas são armazenadas em um único arquivo. O formato de armazenamento dos dados é controlado pelas configuraçõesmin_bytes_for_wide_partemin_rows_for_wide_partda tabela MergeTree. -
part_storage_type(String) — O tipo deDataPartStorage. Valores possíveis:Packed— a maioria dos arquivos da parte é armazenada em um único arquivo compactado (as projeções e alguns arquivos de serviço, comotxn_version.txt, são gravados separadamente);Full— cada arquivo é armazenado separadamente. -
active(UInt8) — Sinalizador que indica se a parte de dados está ativa. Se uma parte de dados estiver ativa, ela será usada em uma tabela. Caso contrário, está prestes a ser excluída. Partes de dados inativas surgem após operações de mesclagem e mutação. -
marks(UInt64) — O número de marcas. Para obter o número aproximado de linhas em uma parte de dados, multiplique o número de marcas pela granularidade do índice (geralmente 8192). Essa indicação não funciona com granularidade adaptativa. -
rows(UInt64) — O número de linhas. -
files(UInt64) — O número de arquivos na parte de dados. -
bytes_on_disk(UInt64) — O tamanho total, em bytes, de todos os arquivos da parte de dados. -
data_compressed_bytes(UInt64) — O tamanho total dos dados comprimidos na parte de dados. Arquivos auxiliares, como arquivos com marcas, não estão incluídos. -
data_uncompressed_bytes(UInt64) — O tamanho total dos dados não comprimidos na parte de dados. Arquivos auxiliares, como arquivos com marcas, não estão incluídos. -
primary_key_size(UInt64) — A quantidade de memória, em bytes, usada pelos valores da chave primária no arquivo primary.idx/cidx em disco. -
marks_bytes(UInt64) — O tamanho do arquivo com marcas. -
secondary_indices_compressed_bytes(UInt64) — O tamanho total dos dados comprimidos dos índices secundários na parte de dados. Arquivos auxiliares, como arquivos com marcas, não estão incluídos. -
secondary_indices_uncompressed_bytes(UInt64) — O tamanho total dos dados não comprimidos dos índices secundários na parte de dados. Arquivos auxiliares, como arquivos com marcas, não estão incluídos. -
secondary_indices_marks_bytes(UInt64) — O tamanho do arquivo com marcas dos índices secundários. -
modification_time(DateTime) — O horário em que o diretório que contém a parte de dados foi modificado. Geralmente, corresponde ao horário de criação da parte de dados. -
remove_time(DateTime) — O horário em que a parte de dados se tornou inativa. -
refcount(UInt32) — O número de locais em que a parte de dados é usada. Um valor maior que 2 indica que a parte de dados é usada em consultas ou mesclagens. -
min_date(Date) — O valor mínimo da chave de data na parte de dados. -
max_date(Date) — O valor máximo da chave de data na parte de dados. -
min_time(DateTime) — O valor mínimo da chave de data e hora na parte de dados. -
max_time(DateTime) — O valor máximo da chave de data e hora na parte de dados. -
partition_id(String) — O ID da partição. -
min_block_number(Int64) — O número mínimo de partes de dados que compõem a parte atual após a mesclagem. -
max_block_number(Int64) — O número máximo de partes de dados que compõem a parte atual após a mesclagem. -
level(UInt32) — Profundidade da árvore de mesclagem. Zero significa que a parte atual foi criada por uma inserção, e não pela mesclagem de outras partes. -
data_version(UInt64) — Número usado para determinar quais mutações devem ser aplicadas à parte de dados (mutações com versão superior a data_version). -
primary_key_bytes_in_memory(UInt64) — Quantidade de memória (em bytes) usada pelos valores da chave primária. Será 0 quandoprimary_key_lazy_loadestiver habilitado e a chave não tiver sido carregada. Quando diferente de zero, os bytes ficam na própria parte e são contabilizados emjemalloc.mergetree_arena.active_bytes. Eles NUNCA são contabilizados emPrimaryIndexCacheBytes— são mutuamente exclusivos em cada parte: um índice fica na parte (esta métrica) ou noPrimaryIndexCachecompartilhado (a outra métrica), dependendo deprimary_key_lazy_loadeuse_primary_key_cache. -
primary_key_bytes_in_memory_allocated(UInt64) — Quantidade de memória (em bytes) reservada para os valores da chave primária. Será 0 quandoprimary_key_lazy_loadestiver habilitado e a chave não tiver sido carregada. Quando diferente de zero, é incluída emjemalloc.mergetree_arena.active_bytes. Consulte a observação sobreprimary_key_bytes_in_memorypara entender a relação comPrimaryIndexCacheBytes. -
index_granularity_bytes_in_memory(UInt64) — Quantidade de memória (em bytes) usada pelos valores de granularidade do índice (será 0 se primary_key_lazy_load=1 e use_primary_key_cache=1). Quando diferente de zero, os bytes pertencem à parte e são contabilizados emjemalloc.mergetree_arena.active_bytes. -
index_granularity_bytes_in_memory_allocated(UInt64) — Quantidade de memória (em bytes) reservada para os valores de granularidade do índice (será 0 se primary_key_lazy_load=1 e use_primary_key_cache=1). Quando diferente de zero, é incluída emjemalloc.mergetree_arena.active_bytes. -
is_frozen(UInt8) — Flag que indica a existência de um backup dos dados da partição. 1 indica que o backup existe. 0 indica que o backup não existe. Para mais detalhes, consulte FREEZE PARTITION. -
database(String) — Nome do banco de dados. -
table(String) — Nome da tabela. -
engine(String) — Nome do mecanismo de tabela sem parâmetros. -
disk_name(String) — Nome do disco que armazena a parte de dados. -
path(String) — Caminho absoluto para a pasta que contém os arquivos da parte de dados. -
hash_of_all_files(String) — sipHash128 dos arquivos comprimidos. -
hash_of_uncompressed_files(String) — sipHash128 dos arquivos descomprimidos (arquivos com marcas, arquivo de índice etc.). -
uncompressed_hash_of_compressed_files(String) — sipHash128 dos dados nos arquivos comprimidos como se estivessem descomprimidos. -
delete_ttl_info_min(DateTime) — Valor mínimo da chave de data e hora para a regra TTL DELETE. -
delete_ttl_info_max(DateTime) — Valor máximo da chave de data e hora para a regra TTL DELETE. -
move_ttl_info.expression(Array(String)) — Array de expressões. Cada expressão define uma regra TTL MOVE. -
move_ttl_info.min(Array(DateTime)) — Array de valores de data e hora. Cada elemento descreve o valor mínimo da chave para uma regra TTL MOVE. -
move_ttl_info.max(Array(DateTime)) — Array de valores de data e hora. Cada elemento descreve o valor máximo da chave para uma regra TTL MOVE. -
default_compression_codec(String) — O nome do codec usado para compactar esta parte de dados quando uma coluna não tem um codec explícito ou usaCODEC(Default). Comallow_experimental_adaptive_codec_selection, blocos individuais dessas colunas podem usar outros codecs; consultemergeTreeCodecBlockCounts. -
recompression_ttl_info.expression(Array(String)) — A expressão TTL. -
recompression_ttl_info.min(Array(DateTime)) — O valor mínimo da expressão TTL calculada nesta parte. Usado para determinar se há pelo menos uma linha com TTL expirado. -
recompression_ttl_info.max(Array(DateTime)) — O valor máximo da expressão TTL calculada nesta parte. Usado para determinar se todas as linhas têm TTL expirado. -
group_by_ttl_info.expression(Array(String)) — A expressão TTL. -
group_by_ttl_info.min(Array(DateTime)) — O valor mínimo da expressão TTL calculada nesta parte. Usado para determinar se há pelo menos uma linha com TTL expirado. -
group_by_ttl_info.max(Array(DateTime)) — O valor máximo da expressão TTL calculada nesta parte. Usado para determinar se todas as linhas têm TTL expirado. -
rows_where_ttl_info.expression(Array(String)) — A expressão TTL. -
rows_where_ttl_info.min(Array(DateTime)) — O valor mínimo da expressão TTL calculada nesta parte. Usado para determinar se há pelo menos uma linha com TTL expirado. -
rows_where_ttl_info.max(Array(DateTime)) — O valor máximo da expressão TTL calculada nesta parte. Usado para determinar se todas as linhas têm TTL expirado. -
projections(Array(String)) — A lista de nomes das projeções calculadas para esta parte. -
visible(UInt8) — Sinalizador que indica se esta parte está visível para consultas SELECT. -
creation_tid(Tuple(UInt64, UInt64, UUID)) — ID da transação que criou/está tentando criar este objeto. -
removal_tid_lock(UInt64) — Hash de removal_tid, usado para bloquear um objeto para remoção. -
removal_tid(Tuple(UInt64, UInt64, UUID)) — ID da transação que removeu/está tentando remover este objeto -
creation_csn(UInt64) — CSN da transação que criou este objeto -
removal_csn(UInt64) — CSN da transação que removeu este objeto -
has_lightweight_delete(UInt8) — Sinalizador que indica se a parte tem uma máscara de exclusão leve. -
last_removal_attempt_time(DateTime) — A última vez que o servidor tentou excluir esta parte. -
removal_state(String) — O estado atual do processo de remoção da parte.
Aliases:
bytes— Alias parabytes_on_disk.marks_size— Alias paramarks_bytes.part_name— Alias paraname.
Exemplo
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: []