Compressão de mensagens
Limitações
DEFAULTnão é suportado.- As mensagens individuais são limitadas, por padrão, a 16 MB (sem compactação) ao usar o menor tamanho de réplica (XS), e a 32 MB (sem compactação) com réplicas maiores. As mensagens que excederem esse limite serão rejeitadas com erro. Se precisar de mensagens maiores, entre em contato com o suporte.
Semântica de entrega
- Marca d’água — o offset até o qual a inserção de todos os registros da partição no ClickHouse está confirmada. Ao reiniciar, o ClickPipes descarta qualquer registro nesse marco ou abaixo dele, para que dados já inseridos nunca sejam enviados novamente.
- Intervalos pendentes — os intervalos de offsets dos blocos de inserção enviados ao ClickHouse, mas ainda não confirmados. Após uma falha, o ClickPipes reproduz exatamente esses intervalos.
topic:partition:firstOffset-lastOffset. Na reprodução, o ClickPipes recria o mesmo intervalo de offsets e, portanto, o mesmo token, fazendo com que o ClickHouse rejeite a duplicata. Como o token depende apenas do intervalo de offsets, uma reprodução é desduplicada mesmo quando o bloco recriado não é idêntico byte a byte.
Janela de desduplicaçãoA desduplicação por token é limitada pela
replicated_deduplication_window da tabela de destino (os 10.000 blocos de inserção mais recentes por padrão) e por replicated_deduplication_window_seconds (uma hora por padrão). Pipes de alta vazão podem consumir rapidamente a janela de contagem de blocos, portanto, recomendamos verificar e, se necessário, aumentar ambas as configurações na tabela de destino para cobrir o maior atraso de reprodução possível. Dados reproduzidos após o token sair da janela podem ser inseridos novamente; nesse caso, a garantia de exatamente uma vez não se aplica.Autenticação
SASL/SCRAM-SHA-256 e SASL/SCRAM-SHA-512. Dependendo da fonte de streaming (Redpanda, MSK etc.), todos ou apenas alguns desses mecanismos de autenticação serão habilitados, conforme a compatibilidade. Se suas necessidades de autenticação forem diferentes, envie seu feedback.
Tamanho de fetch do Warpstream
max.fetch_bytes para limitar o volume de dados processados por um único nó do ClickPipes em um dado momento. Em algumas situações,
o Warpstream não respeita essa configuração, o que pode causar falhas inesperadas nos pipes. Recomendamos fortemente definir a configuração específica do Warpstream kafkaMaxFetchPartitionBytesUncompressedOverride
como 8MB (ou menos) ao configurar seu agent do WarpStream para evitar falhas no ClickPipes.
IAM
- autenticação SASL/SCRAM-SHA-512
- autenticação com credenciais do IAM ou acesso baseado em função
Configurando uma relação de confiança
O acesso baseado em função só funciona para instâncias do ClickHouse Cloud implantadas na AWS.
Certificados personalizados
Desempenho
Processamento em lotes
- O tamanho do lote atingiu o máximo (100.000 linhas ou 28 MB por 1 GB de memória do pod do Kubernetes)
- O lote permaneceu aberto pelo tempo máximo (5 segundos)
Latência
Escalonamento
Benchmarks
- Usamos serviços de produção do ClickHouse Cloud com recursos suficientes para garantir que a vazão não fosse limitada pelo processamento de insert no ClickHouse.
- O serviço do ClickHouse Cloud, o cluster Kafka (Confluent Cloud) e o ClickPipe estavam todos em execução na mesma região (
us-east-2). - O ClickPipe foi configurado com uma única réplica de tamanho L (4 GiB de RAM e 1 vCPU).
- Os dados de exemplo incluíam dados aninhados com uma combinação de tipos de dados
UUID,StringeInt. Outros tipos de dados, comoFloat,DecimaleDateTime, podem ter desempenho inferior. - Não houve diferença perceptível de desempenho entre o uso de dados compactados e não compactados.