PostHog abandona o DuckDB no produto de warehouse e migra para o Trino
Aprofundamento CEVIU
Aprofundamento
A PostHog explica que reconstruiu o produto de warehouse sobre o DuckDB há cinco meses porque um cluster ClickHouse compartilhado não aguentava consultas de modelagem de várias horas e não tinha otimizador de consultas baseado em custo. O DuckDB deu a cada cliente uma instância própria e permitiu que ferramentas como dbt se conectassem via Postgres. O problema veio com a escala: os clientes rodaram consultas mais complexas do que o previsto, e a empresa teve de adotar instâncias enormes. Como o motor é de nó único, o worker precisa ser dimensionado antes da chegada da query, e prever CPU e memória de uma consulta específica se mostrou muito difícil.
O DuckLake, formato de lakehouse instalado por padrão, trouxe outro gargalo. O esquema do catálogo precisa ser portátil entre vários bancos SQL, o que limita otimizações específicas. Em uma escrita em uma única tabela, o tempo passava de três minutos porque cada commit relia as estatísticas do catálogo inteiro. Mais de 99% das linhas de estatísticas pertenciam a tabelas que já não existiam. A limpeza deixou as escritas de 30 a 50 vezes mais rápidas, mas as linhas voltavam a crescer. Ao sair, o lake tinha cerca de 2 PB, 1 trilhão de linhas e 15,3 milhões de snapshots. Sem conseguir emplacar mudanças na comunidade na velocidade necessária, a empresa passou a manter patches em um fork.
O acesso direto por Postgres (porta 5432) também pesou. Reconexões, TTLs e conexões ociosas são difíceis de gerenciar em escala, há pouca ferramenta de balanceamento para pgwire em comparação com HTTP, e cada cliente Postgres espera comportamentos próprios. A nova versão usa uma variante própria do Trino e um formato de tabela aberto, o HogLake, testado primeiro no volume de petabytes da própria PostHog antes de ir para design partners.
Por que isso importa
Para quem opera analytics em nuvem, o caso é um aviso sobre a diferença entre uma ferramenta excelente em uma máquina e uma plataforma multiusuário. Na leitura do CEVIU, a dor central foi previsibilidade de recursos e custo do catálogo de metadados, mais do que velocidade bruta de consulta. Vale medir esses dois pontos antes de escolher motor e formato de tabela, principalmente se o plano inclui trilhões de linhas.
Linha do tempo
PostHog anuncia que abandona o DuckDB no warehouse e migra para Trino com o formato HogLake.
Perguntas frequentes
Por que a PostHog saiu do DuckDB?
Segundo a empresa, o motor de nó único exige dimensionar o worker antes da consulta chegar, e os clientes rodaram queries mais complexas do que o esperado. Isso forçou o uso de instâncias enormes. Prever CPU e memória por consulta também foi muito difícil.
Qual era o problema do DuckLake em escala?
O catálogo precisa ser portátil entre vários bancos SQL, o que limita otimizações. Uma escrita em uma única tabela podia levar mais de três minutos, porque cada commit relia as estatísticas de todo o catálogo. Além disso, mais de 99% das linhas de estatísticas eram de tabelas que não existiam mais.
O que é o HogLake?
É o formato de tabela aberto criado pela PostHog para o novo warehouse, construído sobre uma variante própria do Trino. A empresa o está testando primeiro na escala de petabytes dos próprios dados, antes de entregá-lo a design partners.
A PostHog continua oferecendo conexão Postgres?
O texto descreve as dores de oferecer conexões diretas pela porta 5432: reconexões, TTLs, balanceamento e clientes com comportamentos próprios. A empresa diz preferir investir no produto a perseguir a cauda longa de compatibilidade com Postgres. O artigo não detalha como será o acesso no novo produto.
Fontes
- posthog.comfonte original
- Categoria
- CEVIU Dados
- Publicado
- 05 de novembro de 2026
- Editoria
- CEVIU Dados

