Skip to main content
Neste artigo, vamos apresentar um tutorial que mostra como fazer streaming de dados do SQL Server para o ClickHouse. O ClickHouse é ideal para quem busca análise extremamente rápida em relatórios e dashboards internos ou voltados para clientes. Vamos passar, passo a passo, pela configuração de ambos os bancos de dados, pela forma de conectá-los e, por fim, por como usar o Streamkap para fazer streaming dos seus dados. Se o SQL Server dá conta das suas operações do dia a dia, mas você precisa da velocidade e da inteligência do ClickHouse para análise, você está no lugar certo.”

Por que transmitir dados do SQL Server para o ClickHouse?

Se você chegou até aqui, provavelmente já sentiu esse problema: o SQL Server é extremamente confiável para transações, mas simplesmente não foi projetado para executar consultas analíticas pesadas em tempo real. É aí que o ClickHouse se destaca. O ClickHouse foi desenvolvido para análises, com agregação e relatórios extremamente rápidos, mesmo em conjuntos de dados enormes. Portanto, configurar um pipeline de CDC em streaming para enviar seus dados transacionais ao ClickHouse permite executar relatórios extremamente rápidos — ideal para operações, equipes de produto ou dashboards para clientes. Casos de uso típicos:
  • Relatórios internos que não deixam os aplicativos de produção mais lentos
  • Dashboards voltados para clientes que precisam ser rápidos e estar sempre atualizados
  • Streaming de eventos, como manter os logs de atividade dos usuários atualizados para análises

O que você vai precisar para começar

Antes de entrar nos detalhes, aqui está o que você deve ter em mãos:

Pré-requisitos

  • Uma instância do SQL Server em execução
  • Neste tutorial, usamos o AWS RDS para SQL Server, mas qualquer instância moderna do SQL Server serve.Configure o AWS SQL Server do zero.
  • Uma instância do ClickHouse
  • Self-hosted ou na nuvem.Configure o ClickHouse do zero.
  • Streamkap
  • Essa ferramenta será a base do seu pipeline de streaming de dados.

Informações de conexão

Certifique-se de ter:
  • Endereço do servidor do SQL Server, porta, nome de usuário e senha. É recomendável criar um usuário e uma função separados para que o Streamkap acesse seu banco de dados do SQL Server.Confira nossa documentação sobre a configuração.
  • Endereço do servidor do ClickHouse, porta, nome de usuário e senha. As listas de acesso por IP no ClickHouse determinam quais serviços podem se conectar ao seu banco de dados ClickHouse.Siga as instruções aqui.
  • As tabelas que você quer transmitir em streaming — por enquanto, comece com uma só
1

Criando uma origem SQL Server no Streamkap

Vamos nessa!Começaremos configurando a conexão da fonte. É assim que o Streamkap sabe de onde buscar as alterações.Veja como fazer:
  1. Abra o Streamkap e vá para a seção de fontes.
  2. Crie uma nova fonte.
  • Dê a ela um nome fácil de identificar (por exemplo, sqlserver-demo-source).
  1. Preencha os detalhes da conexão com o SQL Server:
  • Host (por exemplo, your-db-instance.rds.amazonaws.com)
  • Porta (o padrão do SQL Server é 3306)
  • Nome de usuário e senha
  • Nome do banco de dados

O que acontece nos bastidores

Quando você configurar isso, o Streamkap se conectará ao SQL Server e detectará as tabelas. Para esta demo, vamos escolher uma tabela com alguns dados já chegando em streaming, como eventos ou transações.
2

Adicione o ClickHouse como destino no Streamkap

Agora vamos configurar o destino para onde enviaremos todos esses dados.Assim como na origem, vamos criar um destino usando os detalhes da nossa conexão com o ClickHouse.

Etapas:

  1. Vá para a seção de destinos no Streamkap.
  2. Adicione um novo destino — escolha ClickHouse como tipo de destino.
  3. Insira as informações do seu ClickHouse:
  • Host
  • Porta (o padrão é 9000)
  • Nome de usuário e senha
  • nome do banco de dados
Exemplo de captura de tela: adicionando um novo destino do ClickHouse no painel do Streamkap.

Modo upsert: o que é isso?

Esta é uma etapa importante: queremos usar o modo “upsert” do ClickHouse, que (nos bastidores) usa o motor ReplacingMergeTree no ClickHouse. Isso nos permite mesclar os registros recebidos com eficiência e lidar com atualizações após a ingestão, usando o que o ClickHouse chama de “part merging”.
  • Isso garante que sua tabela de destino não fique cheia de duplicatas quando houver mudanças no lado do SQL Server.

Como lidar com a evolução de esquema

Às vezes, o ClickHouse e o SQL Server não têm as mesmas colunas, especialmente quando seu aplicativo está em produção e os desenvolvedores continuam adicionando colunas dinamicamente.
  • Boa notícia: o Streamkap consegue lidar com a evolução básica do esquema. Isso significa que, se você adicionar uma nova coluna no SQL Server, ela também aparecerá no ClickHouse.
Basta selecionar “schema evolution” nas configurações do destino. Você sempre pode ajustar isso depois, se necessário.
3

Configure o pipeline no Streamkap

Com a origem e o destino definidos, chegou a hora da parte divertida: fazer streaming dos seus dados!

Configuração do pipeline

  1. Vá para a aba Pipelines no Streamkap.
  2. Crie um novo pipeline.
  3. Selecione sua origem do SQL Server (sqlserver-demo-source).
  4. Selecione seu destino do ClickHouse (clickhouse-tutorial-destination).
  5. Escolha a tabela que você quer transmitir — digamos que seja events.
  6. Configure para CDC (Change Data Capture).
  • Nesta execução, vamos transmitir apenas dados novos (se quiser, pule o carregamento de dados históricos no início e foque nos eventos de CDC).
Captura de tela das configurações do pipeline — selecionando origem, destino e tabela.

Você deve fazer backfill?

Você pode estar se perguntando: devo carregar dados antigos?Em muitos casos de analytics, talvez você só queira começar transmitindo as alterações a partir de agora, mas sempre poderá voltar e carregar dados antigos também.Por enquanto, basta escolher “don’t backfill”, a menos que você tenha uma necessidade específica.
4

Monitore o fluxo de dados

Agora seu pipeline está configurado e ativo!Veja o que acontece:
  • À medida que novos dados chegam à tabela de origem no SQL Server, o pipeline do Streamkap captura a alteração e a envia para o ClickHouse.
  • O ClickHouse (graças ao ReplacingMergeTree e à mesclagem de partes) faz a ingestão dessas linhas e mescla as atualizações.
  • O schema acompanha—adicione colunas no SQL Server e elas também aparecerão no ClickHouse.
Dashboard em tempo real ou logs mostrando a contagem de linhas aumentando no ClickHouse e no SQL Server em tempo real.Você pode literalmente ver o número de linhas no ClickHouse aumentar à medida que o SQL Server recebe dados.
Espere alguma defasagem em cenários de alta carga, mas, na maioria dos casos de uso, o streaming ocorre quase em tempo real.

Nos Bastidores: O que o Streamkap está realmente fazendo?

Para dar um pouco mais de contexto:
  • O Streamkap monitora o log binário do SQL Server (o mesmo log usado para replicação).
  • Assim que uma linha é inserida, atualizada ou excluída na sua tabela, o Streamkap captura o evento.
  • Ele converte o evento em algo que o ClickHouse entende e o envia — aplicando as alterações instantaneamente no seu banco de dados analítico.
Isso não é apenas ETL — é CDC (captura de alterações de dados) completo, transmitido em tempo real.

Opções avançadas

Modos Upsert vs. Insert

Qual é a diferença entre simplesmente inserir cada linha (Modo Insert) e garantir que atualizações e exclusões também sejam refletidas (Modo Upsert)?
  • Modo Insert: Cada nova linha é adicionada — mesmo que seja uma atualização, você acabará com duplicatas.
  • Modo Upsert: As atualizações de linhas existentes sobrescrevem o que já está lá — muito melhor para manter as análises sempre atualizadas e organizadas.

Lidando com mudanças de schema

Os apps mudam, e seus schemas também. Com esse pipeline:
  • Adicionou uma nova coluna à sua tabela operacional? O Streamkap vai detectá-la e adicioná-la também no ClickHouse.
  • Removeu uma coluna? Dependendo das configurações, talvez você precise de uma migração — mas, na maioria dos casos, adicionar colunas ocorre sem problemas.

Monitoramento no mundo real: acompanhando de perto o pipeline

Verificando a integridade do pipeline

O Streamkap oferece um painel em que você pode:
  • Ver a defasagem do pipeline (quão atualizados estão seus dados?)
  • Monitorar a contagem de linhas e o throughput
  • Receber alertas se algo estiver fora do normal
Exemplo de painel: gráfico de latência, contagem de linhas, indicadores de integridade.

Métricas comuns para monitorar

  • Defasagem: Quanto o ClickHouse está atrás do SQL Server?
  • Throughput: Linhas por segundo
  • Taxa de erro: Deve ficar próxima de zero

Em produção: consultando o ClickHouse

Com seus dados agora no ClickHouse, você pode consultá-los usando todas essas ferramentas de análise de alto desempenho. Aqui está um exemplo básico:
Combine o ClickHouse com ferramentas de dashboard, como Grafana, Superset ou Redash, para criar relatórios completos.

Próximos passos e aprofundamentos

Este passo a passo apenas arranha a superfície do que você pode fazer. Com o básico dominado, veja o que você pode explorar a seguir:
  • Configurar streams filtrados (sincronizar apenas algumas tabelas/colunas)
  • Fazer streaming de múltiplas fontes para um único banco de dados analítico
  • Combinar isso com S3/lagos de dados para armazenamento a frio
  • Automatizar migrações de schema ao alterar tabelas
  • Proteger seu pipeline com SSL e regras de firewall
Fique de olho noblog da Streamkap para mais guias detalhados.

FAQ e solução de problemas

P: Isso funciona com bancos de dados na nuvem? R: Sim! Usamos o AWS RDS neste exemplo. Só certifique-se de abrir as portas corretas. P: E o desempenho? R: O ClickHouse é rápido. O gargalo geralmente é a rede ou a velocidade do binlog do banco de dados de origem, mas, na maioria dos casos, você verá menos de um segundo de defasagem. P: Vocês também lidam com exclusões? R: Com certeza. No modo upsert, as exclusões também são sinalizadas e tratadas no ClickHouse.

Concluindo

Aí está: uma visão geral completa de como fazer streaming dos dados do SQL Server para o ClickHouse usando o Streamkap. É rápido, flexível e ideal para equipes que precisam de análises quase em tempo real sem sobrecarregar os bancos de dados de produção. Pronto para experimentar? Acesse a página de cadastro e nos avise se quiser que abordemos temas como:
  • Upsert vs. Insert e os detalhes de cada abordagem
  • Latência de ponta a ponta: com que rapidez você consegue chegar à sua visão analítica final?
  • Performance tuning e throughput
  • Dashboards reais com base nessa stack
Obrigado pela leitura! Bom streaming.
Última modificação em 23 de julho de 2026