sh4.tech
Casos

Um construído do zero. Dois assumidos rodando. Os três medidos.

Sistemas em produção, com faturamento que depende de eles estarem certos. Nomes de clientes e parceiros ficam de fora de propósito; os números são os que medimos.

Construído do zero

300B+linhas

327,43 bilhões de linhas em 2,08 TiB, a maior tabela com 100,78 bilhões · 2026-09-03

A plataforma de proof-of-play por trás de 15.000 telas

Desenhado
Uma linha por exibição, como prova de faturamento, vinda de telas que ficam horas sem rede. Playlogs em cache no aparelho, enviados em lotes para um servidor de ingestão, depois Kafka entrando em ClickHouse próprio. MQTT só para presença e telemetria.
Conforme cresceu
Dois bilhões de linhas no MySQL deixaram de ser razoáveis, e o armazenamento foi para ClickHouse em bare metal. Chave de ordenação escolhida pelas consultas primeiro, depois um par de codecs por perfil de coluna, testado em cerca de sessenta variações com a consulta mais pesada no loop.
Rodando
200 milhões de linhas por dia durante anos. 5,5x no total, 269,6x no timestamp da chave, 4,37 bytes por linha. A frota foi da primeira tela a 15.000 com o mesmo desenho.

clickhousekafkaedge buffering

Assumido rodando

460.691

dias-máquina validados contra a origem, 18 diferenças · out/2026

Conciliar o que foi vendido com o que foi ao ar

Como estava
Três motores de ocupação no código, cada um com sua ideia de dia-máquina. O comercial queria uma tela; o número por trás dela não era confiável.
O que mudou
Unifiquei os motores antes de construir qualquer coisa visível. A tela lê um retrato pré-calculado e aponta divergências entre vendido e veiculado. Um mês inteiro foi validado linha a linha contra a origem.
O que segurou
5.392.734 dias-máquina em 2026, financeiro batendo 100%, e o diretor comercial comparou a uma cirurgia de catarata e fez disso a rotina diária do time. As decisões comerciais agora começam nessa tela.

conciliaçãosnapshotauditoria

Assumido rodando

−67%

mensagens de telemetria por dia depois da virada · medido no tópico, 2026

Mover a presença dos aparelhos para MQTT sem perder a frota

Como estava
15.000 telas em elevadores e shoppings se anunciando por polling HTTP. Perder contato com uma tela em campo era justamente o que não podia acontecer.
O que mudou
Quatro meses de teste e rollout controlado. Eu dei a direção e revisei cada passo; um colega fez a maior parte do hands-on. O proof-of-play manteve o próprio caminho: cache no aparelho, upload em lotes, depois Kafka entrando no ClickHouse.
O que segurou
O volume de telemetria no Kafka caiu dois terços com a mesma frota, e o caminho do faturamento ficou exatamente como estava.

mqttfrotarollout

Os artigos vão mais fundo, com o código e os números →

Crescendo mais rápido que os seus sistemas?

Vamos conversar → LinkedIn

Isso costuma começar de dois jeitos. Um negócio com receita que precisa crescer sem quebrar. Ou um produto que funciona na demo e quebra em produção. Me escreva qual é o seu. Respondo com perguntas, depois com um plano.