Tecnologias

← Início
Analítica e dados

ClickHouse — o motor de análise em tempo real da stack da plataforma

O stack da 4buildsite inclui o ClickHouse — uma base de dados colunar criada especificamente para análise de grandes volumes. É sobre ela que construímos o módulo de estatísticas de tráfego e vendas da plataforma (em desenvolvimento): os dados continuam a ser teus, e a recolha fica separada do teu site — é assim que a arquitetura foi desenhada.

O que é o ClickHouse e porque o usamos

O ClickHouse é uma base de dados colunar do tipo OLAP (análise online), criada na Yandex para o Yandex.Metrica — um dos maiores sistemas de análise web do mundo — e publicada em código aberto em 2016 sob licença Apache 2.0. Foi construída para uma única coisa, que faz de forma excecional: agregações rápidas sobre volumes enormes de dados. Na arquitetura da 4buildsite, o ClickHouse é o motor escolhido para a camada de estatísticas: cada visita, clique e encomenda torna-se um evento que pode ser analisado de imediato.

O segredo está no armazenamento por colunas: em vez de ler cada «linha» por inteiro, o ClickHouse lê apenas as colunas de que o relatório precisa e processa-as de forma vetorizada, em blocos grandes. Por isso, uma pergunta como «quantos visitantes tive ontem, por página e por origem» pode ser respondida mesmo sobre milhões de eventos — algo que uma base de dados clássica, orientada a linhas, resolve com muito mais dificuldade.

Não é uma tecnologia de nicho: a Cloudflare usa-a para analisar o tráfego HTTP à escala global, e a Uber, o eBay e o Spotify usam-na para analítica e processamento de registos em volumes enormes. Na 4buildsite, o mesmo motor faz parte do stack da plataforma — sem que tenhas de contratar uma equipa de engenheiros de dados.

Estatísticas em tempo real — como o módulo foi desenhado

O módulo de estatísticas da plataforma está em desenvolvimento e a sua arquitetura é simples: os eventos de tráfego são recolhidos de forma assíncrona e escritos no ClickHouse, completamente separados dos servidores que entregam as páginas. A recolha é assíncrona e separada dos servidores que entregam as páginas. Não existe um script de tracking de terceiros na página — a recolha é mínima e first-party.

Os relatórios em panel.4buildsite.net serão calculados diretamente no ClickHouse: tráfego por página, origens dos visitantes, conversões, vendas por produto. As agregações frequentes são pré-calculadas através de materialized views a cada escrita, por isso o painel não lança um cálculo pesado sempre que o abres.

  • Tráfego em direto: visitas, páginas, origens e dispositivos — consultáveis após a recolha
  • Vendas por produto, encomendas e conversões da tua loja, agregadas no ClickHouse
  • Histórico de meses e anos a baixo custo — a compressão colunar reduz o armazenamento várias vezes face aos dados em bruto
  • A recolha é assíncrona e os relatórios correm noutro sistema

PostgreSQL + ClickHouse: porque usamos os dois

O stack da plataforma combina duas bases de dados porque fazem coisas fundamentalmente diferentes. O PostgreSQL é o registo transacional (OLTP): encomendas, pagamentos, stock, contas de utilizador — operações que têm de estar perfeitamente corretas uma a uma, com garantias transacionais. O ClickHouse é a sala de análise (OLAP): milhões de eventos lidos de uma só vez para responder às tuas perguntas sobre tráfego e vendas.

Se os relatórios pesados corressem na mesma base de dados que processa as encomendas, cada relatório competiria com os clientes que estão a pagar nesse momento. A separação OLTP/OLAP elimina esse conflito: a encomenda do cliente não compete com o teu relatório e o teu relatório não compete com as encomendas dos outros. Cada motor faz exatamente aquilo para que foi construído.

  • PostgreSQL: encomendas, pagamentos Stripe, stock, clientes — correção transacional
  • ClickHouse: eventos de tráfego, relatórios, estatísticas — agregação em volume
  • O desenho prevê que os dados transacionais relevantes cheguem ao ClickHouse como eventos, pelo que os relatórios de vendas nunca tocam na base que serve a loja

Analítica própria, respeitadora da privacidade — em vez do Google Analytics

O princípio do módulo de estatísticas: os dados do teu site permanecem na infraestrutura da plataforma. Não são enviados para a Google nem para outras redes de publicidade, não são vendidos e não são combinados com perfis externos de utilizadores. É analítica first-party no sentido próprio: os dados sobre os teus visitantes são teus.

Como a abordagem não usa cookies de tracking de terceiros, a conformidade com o RGPD torna-se muito mais simples. O contexto importa: em 2022, as autoridades de proteção de dados da Áustria, França e Itália declararam que a utilização do Google Analytics não estava conforme com o RGPD devido às transferências de dados para os EUA. Com uma analítica própria, alojada na Europa, esta categoria de risco desaparece à partida.

Há ainda um benefício prático direto: os relatórios calculados no ClickHouse não são amostrados, ao contrário dos relatórios padrão das ferramentas gratuitas de analítica. Números completos.

Relatórios de loja e marketplace — o que o módulo vai entregar

Para uma loja online, o ClickHouse significará respostas às perguntas que contam: que produtos se vendem, de que origens vêm os clientes que compram, onde são abandonados os carrinhos. Para um marketplace multivendedor, as mesmas agregações correrão sobre todas as encomendas: volume por vendedor, comissões, produtos mais vendidos por categoria — sem exportações manuais e sem folhas de cálculo.

E à escala as coisas continuam baratas. A compressão colunar reduz os dados várias vezes face ao formato em bruto, pelo que guardas anos de histórico com um custo de armazenamento pequeno. E quando o tráfego passa de milhares para milhões de eventos, o motor foi desenhado desde o início para milhares de milhões de linhas, não adaptado mais tarde.

Vantagens e limitações

Vantagens

  • Agregações sobre milhões de eventos em menos de um segundo, graças ao armazenamento por colunas.
  • A analítica corre num sistema separado daquele que serve as páginas.
  • Os dados de tráfego continuam a ser teus, na infraestrutura da plataforma — sem transferência para a Google ou para redes de publicidade.
  • Sem cookies de tracking de terceiros — conformidade com o RGPD mais simples.
  • Compressão colunar forte — anos de histórico com um custo de armazenamento pequeno.
  • Código aberto (Apache 2.0), sem licenças por volume — o custo não dispara quando o tráfego cresce.

Limitações

  • Não é uma base de dados transacional — alterar ou apagar linhas individuais é uma operação pesada; por isso as encomendas e os pagamentos ficam no PostgreSQL.
  • Otimizado para escritas em lotes grandes; muitas inserções pequenas e frequentes exigem batching — a plataforma trata disso, mas é um limite real do motor.
  • Os JOIN complexos são menos flexíveis do que no PostgreSQL — o esquema de eventos tem de ser desenhado para análise desde o início.
  • A procura de uma única linha (point lookup) é mais lenta do que numa base OLTP indexada — não substitui a base principal da loja.

Veredicto breve

O ClickHouse é a escolha certa para analítica em volume: estatísticas de tráfego e vendas em tempo real, com os teus dados, separado do site. Para encomendas, pagamentos e stock fica o PostgreSQL — é por isso que o stack da 4buildsite combina os dois, cada um naquilo em que é melhor. O módulo de estatísticas construído sobre o ClickHouse está em desenvolvimento.

Tabela de especificações

CapacidadeLimite / limiarUtilização típica
Agregações analíticasMenos de um segundo sobre milhões de eventos (colunar + vetorizado)Lento na procura de uma única linha — não serve para lookups OLTPRelatórios de tráfego e vendas (módulo de estatísticas, em desenvolvimento)
Ingestão de eventosGrandes volumes, escritos em lotesAs inserções pequenas e frequentes exigem batching / async insertRecolha de pageviews, cliques e encomendas
Armazenamento e compressãoCompressão colunar (LZ4/ZSTD), várias vezes abaixo do volume em brutoOs dados muito aleatórios comprimem-se menosHistórico de eventos de meses e anos, a baixo custo
Atualizações e eliminaçõesMutations assíncronas para correções ocasionaisPouco adequado para UPDATE frequentes sobre linhas individuaisEliminações RGPD (os dados de um utilizador, a pedido)
Materialized viewsAgregados pré-calculados a cada escritaOs agregados têm de ser definidos à partida, por relatórioPainéis: vendas por dia, produto e origem
Tempo realOs eventos ficam consultáveis depois de ocorreremNão é um sistema de streaming ao nível do milissegundoEstatísticas em direto de tráfego e conversões

ClickHouse vs PostgreSQL vs Google Analytics / BigQuery — para analítica

CritérioClickHouse (4buildsite)PostgreSQL (para analítica)Google Analytics / BigQuery
Velocidade das agregações em volumeMenos de um segundo sobre milhões de linhasCai visivelmente em dezenas de milhões de linhas (armazenamento por linhas)BigQuery rápido; o GA4 tem relatórios padrão pré-agregados, sem consultas livres
Propriedade dos dados / RGPDOs teus dados, na infraestrutura da plataforma, na EuropaOs teus dados, nos teus servidoresOs dados ficam na Google; as transferências do GA para os EUA foram declaradas não conformes com o RGPD por autoridades da UE em 2022
Cookies e consentimentoSem cookies de tracking de terceirosDepende da implementação própriaExige banner de consentimento para o tracking
Tempo realDados consultáveis após a recolhaÉ possível, mas os relatórios pesados carregam a base transacionalOs relatórios padrão do GA4 podem surgir com horas de atraso; o streaming do BigQuery custa à parte
Custo em volumeCódigo aberto — o custo é apenas a infraestrutura, incluída na subscriçãoCresce com índices, vacuum e hardware em grandes volumesO BigQuery cobra por volume consultado; a variante empresarial do GA é dispendiosa
Impacto na velocidade do siteRecolha assíncrona, relatórios num sistema separadoOs relatórios podem competir com as encomendas na mesma baseScript de terceiros (gtag.js) na página — JavaScript e pedidos externos a mais

Perguntas frequentes

O ClickHouse tem impacto na velocidade do meu site ou da minha loja?

O ClickHouse corre num sistema separado daquele que serve as páginas — é assim que a arquitetura foi desenhada. Os eventos de tráfego são enviados de forma assíncrona e os relatórios nunca tocam na base de dados da loja.

Porque não usam simplesmente o Google Analytics?

Por três razões. Os dados continuam a ser teus, na infraestrutura da plataforma, e não na Google. Não precisas de cookies de tracking de terceiros, por isso a conformidade com o RGPD é mais simples — em 2022, autoridades da Áustria, França e Itália declararam o GA não conforme com o RGPD. E os relatórios aparecem completos, sem amostragem.

Qual é a diferença entre o ClickHouse e o PostgreSQL — porquê os dois?

O PostgreSQL é a base transacional (OLTP): processa encomendas, pagamentos e stock, um a um, com garantias de correção. O ClickHouse é a base analítica (OLAP): lê milhões de eventos de uma só vez para os relatórios. A separação significa que um relatório pesado não toca nas encomendas dos teus clientes.

Os meus dados de tráfego estão seguros e em conformidade com o RGPD?

Sim — por desenho. As estatísticas são first-party: ficam na infraestrutura da plataforma, na Europa, não são vendidas nem partilhadas com redes de publicidade. A abordagem não usa cookies de tracking de terceiros, e os dados de um utilizador podem ser apagados a pedido, ao abrigo do RGPD.

Até que ponto as estatísticas são «em tempo real»?

Um evento — uma visita, um clique, uma encomenda — torna-se visível nos relatórios depois de acontecer. As agregações sobre períodos longos (meses, anos) continuam a ser respondidas pelo mesmo motor, porque o ClickHouse foi construído exatamente para este tipo de consultas.

Tenho de configurar alguma coisa para ter estatísticas no meu site?

Não será necessário. O módulo de estatísticas está em desenvolvimento e é construído como parte da plataforma: quando ficar ativo no painel de administração, a recolha arranca automaticamente para os sites publicados — sem scripts para instalar e sem contas externas.

4b2b.net
Ecossistema business
4conta.ro
Contabilidade
4invoices.net
App faturação
4expenses.net
Gestão de despesas
4notify.net
Notificações
4hosting.net
Alojamento Web
4database.net
Bases de dados
4buildsite.net
Criador de sites
4myapp.net
Criador de apps
4avatars.net
Avatares de IA
4chaty.net
Chatbot com IA
4webagency.net
Software para agências web
4softedu.net
Sites para educação
4softcrm.net
Plataforma CRM
4softerp.net
Sistema ERP
4softhr.net
Gestão RH
4mystaff.net
Portal do pessoal
4myprojects.net
Gestor de projetos
4mycontracts.net
Contratos
4docs.net
Gestão documental
4appointments.net
Marcações
4marketingonline.net
Marketing
4insurance.net
Seguros
4property.net
Imobiliário
4lawyers.net
Software jurídico
4mygarage.net
Oficina auto
4driving.net
Escolas de Condução
4fleet.net
Gestão de frotas
4myevents.net
Eventos
4therapy.net
Terapia
4clinics.net
Clínicas
4dental.net
Clínicas dentárias
4restaurants.net
Restaurantes
4beautify.net
Salão de beleza
4gym.net
Ginásios
4guards.net
Empresas de segurança
4softvet.net
Clínicas veterinárias
4softauto.net
Software para negócios automóvel
4construct.net
Empresas de Construção
4marketplace.net
Marketplace
4shopy.net
Loja online
4pricing.net
Comparador de preços
4salefood.net
Entrega de comida
4rentify.net
Aluguer
4transports.net
Transporte
4agencytravel.net
Agência de viagens
4hotel.net
Gestão hoteleira
4ong.net
Gestao de ONG