Todos os produtos
Search
Central de documentação

ApsaraDB for ClickHouse:Família de mecanismos de tabela SharedMergeTree

Última atualização: Jun 28, 2026

O SharedMergeTree é a família de mecanismos de tabela padrão no ApsaraDB for ClickHouse Enterprise Edition. Trata-se de uma substituição nativa da nuvem para os mecanismos ReplicatedMergeTree, construída sobre o Object Storage Service (OSS).

Como funciona

O ReplicatedMergeTree armazena dados no armazenamento de objetos, mas mantém os metadados em cada servidor ClickHouse. Todo evento de replicação exige a cópia dos metadados entre todas as réplicas.

image

O SharedMergeTree elimina a comunicação direta entre réplicas. Em vez disso, todas as réplicas se coordenam por meio do armazenamento compartilhado e do ClickHouse Keeper, que centraliza os metadados.

image

Essa arquitetura — com replicação assíncrona sem líder e metadados centralizados — oferece diversas vantagens em relação ao ReplicatedMergeTree:

  • Maior throughput de inserção

  • Throughput aprimorado para mesclagens em segundo plano

  • Throughput otimizado para mutações

  • Operações de dimensionamento mais rápidas — como os metadados não precisam ser redistribuídos conforme o cluster cresce, cada tabela suporta centenas de réplicas e escala horizontalmente sem necessidade de resharding. Isso também permite executar consultas distribuídas utilizando mais recursos computacionais.

  • Consistência forte de dados mais leve para consultas SELECT

Crie uma tabela

Os mecanismos baseados em SharedMergeTree são o padrão no ApsaraDB for ClickHouse Enterprise Edition. Não é necessário alterar configurações — crie a tabela da mesma forma habitual e o mecanismo será aplicado automaticamente.

Tabela básica

CREATE TABLE my_table(
  key UInt64,
  value String
)
ENGINE = MergeTree
ORDER BY key

Como o parâmetro default_table_engine está definido como MergeTree na Enterprise Edition, a cláusula ENGINE é opcional:

CREATE TABLE my_table(
  key UInt64,
  value String
)
ORDER BY key

Mecanismos variantes

Os seguintes mecanismos são convertidos automaticamente para seus equivalentes SharedMergeTree: ReplacingMergeTree, CollapsingMergeTree, AggregatingMergeTree, SummingMergeTree, VersionedCollapsingMergeTree e GraphiteMergeTree.

CREATE TABLE myFirstReplacingMT
(
    `key` Int64,
    `someCol` String,
    `eventTime` DateTime
)
ENGINE = ReplacingMergeTree
ORDER BY key;

Execute SHOW CREATE TABLE para confirmar o mecanismo real em uso:

SHOW CREATE TABLE myFirstReplacingMT;

A saída exibe o equivalente SharedMergeTree:

CREATE TABLE default.myFirstReplacingMT
( `key` Int64, `someCol` String, `eventTime` DateTime )
ENGINE = SharedReplacingMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
ORDER BY key
SETTINGS index_granularity = 8192

Introspecção

A maioria das tabelas de sistema usadas para introspecção do ReplicatedMergeTree também está disponível para o SharedMergeTree. Duas tabelas não estão presentes — system.replication_queue e system.replicated_fetches — pois a replicação de dados e metadados não ocorre nesse modelo. O SharedMergeTree fornece substituições diretas:

Tabela ReplicatedMergeTree

Substituição SharedMergeTree

Descrição

system.replication_queue

system.virtual_parts

Armazena o conjunto mais recente de partes de dados atuais e futuras em andamento, incluindo mesclagens, modificações e exclusões de partições

system.replicated_fetches

system.shared_merge_tree_fetches

Contém chaves primárias e checksums carregados na memória

Alterações na configuração do mecanismo

O SharedMergeTree altera o comportamento de três configurações.

**insert_quorum**

Não é necessário. Todas as inserções no SharedMergeTree são inserções com quórum (dados gravados no armazenamento compartilhado). Não há necessidade de configurar esse parâmetro explicitamente.

**insert_quorum_parallel**

Também desnecessário pelo mesmo motivo: todas as inserções já ocorrem com quórum (dados gravados no armazenamento compartilhado).

**select_sequential_consistency**

Inserções com quórum não são obrigatórias. Defina este parâmetro para enviar solicitações adicionais ao ClickHouse Keeper durante consultas SELECT.