Tecnologie

← Home
Analisi e dati

ClickHouse — il motore di analisi in tempo reale della piattaforma

Lo stack di 4buildsite comprende ClickHouse, un database colonnare creato appositamente per l'analisi di grandi volumi. Su di esso costruiamo il modulo di statistiche di traffico e vendite della piattaforma (in sviluppo): i dati restano tuoi, i report sono calcolati sui dati raccolti, e la raccolta è separata dal sistema che serve il tuo sito, perché l'architettura è progettata così.

Che cos'è ClickHouse e perché lo usiamo

ClickHouse è un database colonnare di tipo OLAP (analisi in linea), creato in Yandex per Yandex.Metrica — uno dei più grandi sistemi di analisi web al mondo — e pubblicato come open source nel 2016 con licenza Apache 2.0. È costruito per una cosa sola, che fa in modo eccezionale: aggregazioni rapide su volumi enormi di dati. Nell'architettura di 4buildsite, ClickHouse è il motore scelto per lo strato delle statistiche: ogni visita, clic e ordine diventa un evento analizzabile.

Il segreto sta nell'archiviazione per colonne: invece di leggere ogni «riga» per intero, ClickHouse legge solo le colonne che servono al report e le elabora in modo vettorizzato, a grandi blocchi. Per questo una domanda come «quanti visitatori ho avuto ieri, per pagina e per fonte» viene elaborata anche su milioni di eventi, cosa che un database classico orientato alle righe risolve con molta più fatica.

Non è una tecnologia di nicchia: Cloudflare la usa per analizzare il traffico HTTP su scala globale, mentre Uber, eBay e Spotify la impiegano per analisi ed elaborazione di log a volumi enormi. Su 4buildsite lo stesso motore fa parte dello stack della piattaforma, senza che tu debba assumere un team di ingegneri dei dati.

Statistiche in tempo reale: com'è progettato il modulo

Il modulo di statistiche della piattaforma è in sviluppo e la sua architettura è semplice: gli eventi di traffico vengono raccolti in modo asincrono e scritti in ClickHouse, del tutto separati dai server che servono le pagine. Il caricamento della pagina non dipende dai report che girano in quel momento. Non c'è alcuno script di tracciamento di terze parti nella pagina: la raccolta è minima e di prima parte.

I report di panel.4buildsite.net saranno calcolati direttamente in ClickHouse: traffico per pagina, fonti dei visitatori, conversioni, vendite per prodotto. Le aggregazioni più frequenti vengono pre-calcolate con viste materializzate a ogni scrittura, così la dashboard non avvia ogni volta un calcolo pesante quando la guardi.

  • Traffico: visite, pagine, fonti e dispositivi, raccolti in modo asincrono
  • Vendite per prodotto, ordini e conversioni del tuo negozio, aggregati su grandi volumi di eventi
  • Storico di mesi e anni a costo contenuto: la compressione colonnare riduce l'archiviazione di diverse volte rispetto ai dati grezzi
  • Separazione dal sito: la raccolta è asincrona e la reportistica gira su un altro sistema

PostgreSQL e ClickHouse: perché li usiamo entrambi

Lo stack della piattaforma combina due database perché fanno cose radicalmente diverse. PostgreSQL è il registro transazionale (OLTP): ordini, pagamenti, giacenze, account utente — operazioni che devono essere perfettamente corrette una per una, con garanzie transazionali. ClickHouse è la sala di analisi (OLAP): milioni di eventi letti in una volta sola per rispondere alle tue domande su traffico e vendite.

Se i report pesanti girassero sullo stesso database che elabora gli ordini, ogni report entrerebbe in concorrenza con i clienti che stanno pagando in quel momento. La separazione tra OLTP e OLAP elimina questo conflitto: l'ordine del cliente e il tuo report girano su sistemi separati. Ogni motore fa esattamente ciò per cui è stato costruito.

  • PostgreSQL: ordini, pagamenti Stripe, giacenze, clienti — correttezza transazionale
  • ClickHouse: eventi di traffico, report, statistiche — aggregazione su grandi volumi
  • Il progetto prevede che i dati transazionali rilevanti arrivino in ClickHouse come eventi, così i report di vendita non toccano mai il database che serve il negozio

Analisi propria e rispettosa della privacy, al posto di Google Analytics

Il principio del modulo di statistiche: i dati del tuo sito restano sull'infrastruttura della piattaforma. Non vengono inviati a Google né ad altre reti pubblicitarie, non vengono venduti e non vengono combinati con profili utente esterni. È analisi di prima parte in senso proprio: i dati sui tuoi visitatori sono tuoi.

Poiché l'approccio non usa cookie di tracciamento di terze parti, la conformità al GDPR diventa molto più semplice. Il contesto conta: nel 2022 le autorità per la protezione dei dati di Austria, Francia e Italia hanno dichiarato l'uso di Google Analytics non conforme al GDPR a causa dei trasferimenti di dati verso gli Stati Uniti. Con un'analisi propria, ospitata in Europa, questa categoria di rischio scompare in partenza.

C'è anche un vantaggio pratico: i report calcolati in ClickHouse non sono campionati, come invece può accadere con i report standard degli strumenti di analisi gratuiti. Numeri completi, calcolati sui tuoi dati.

Report di negozio e marketplace: che cosa offrirà il modulo

Per un negozio online, ClickHouse significherà risposte alle domande che contano: quali prodotti vendono, da quali fonti arrivano i clienti che acquistano, dove vengono abbandonati i carrelli. Per un marketplace multi-venditore, le stesse aggregazioni gireranno su tutti gli ordini: volume per venditore, commissioni, prodotti più venduti per categoria, senza esportazioni manuali e senza fogli di calcolo.

E su larga scala le cose restano economiche. La compressione colonnare riduce i dati di diverse volte rispetto al formato grezzo, quindi conservi anni di storico con un costo di archiviazione ridotto. E quando il traffico passa da migliaia a milioni di eventi, il motore è stato progettato fin dall'inizio per miliardi di righe, non adattato in seguito.

Vantaggi e limiti

Vantaggi

  • Aggregazioni su milioni di eventi, con report costruiti per le interrogazioni analitiche.
  • Separazione dal sito: l'analisi gira su un sistema separato da quello che serve le pagine.
  • I dati di traffico restano tuoi, sull'infrastruttura della piattaforma, senza trasferimenti verso Google o reti pubblicitarie.
  • Nessun cookie di tracciamento di terze parti: conformità al GDPR più semplice.
  • Compressione colonnare potente: anni di storico con un costo di archiviazione ridotto.
  • Open source (Apache 2.0), senza licenze a volume: il costo non esplode quando il traffico cresce.

Limiti

  • Non è un database transazionale: modificare o cancellare singole righe è un'operazione pesante; per questo ordini e pagamenti restano in PostgreSQL.
  • È ottimizzato per scritture in lotti ampi; molte inserzioni piccole e frequenti richiedono il raggruppamento — la piattaforma se ne occupa, ma resta un limite reale del motore.
  • I JOIN complessi sono meno flessibili che in PostgreSQL: lo schema degli eventi va progettato per l'analisi fin dall'inizio.
  • La ricerca di una singola riga (point lookup) è più lenta che in un database OLTP indicizzato: non sostituisce il database principale del negozio.

Verdetto in breve

ClickHouse è la scelta giusta per l'analisi ad alto volume: statistiche di traffico e vendite in tempo reale, con i tuoi dati. Per ordini, pagamenti e giacenze resta PostgreSQL: per questo lo stack di 4buildsite li combina entrambi, ciascuno per ciò in cui è migliore. Il modulo di statistiche costruito su ClickHouse è in sviluppo.

Tabella delle specifiche

CapacitàLimite / sogliaUso tipico
Aggregazioni analiticheAggregazioni su milioni di eventi (colonnare e vettorizzato)Lento nella ricerca di una singola riga: non è pensato per i lookup OLTPReport di traffico e vendite (modulo di statistiche, in sviluppo)
Acquisizione di eventiGrandi volumi, scritti a lottiLe inserzioni piccole e frequenti richiedono raggruppamento o inserimento asincronoRaccolta di visualizzazioni di pagina, clic, ordini
Archiviazione e compressioneCompressione colonnare (LZ4/ZSTD), diverse volte sotto il volume grezzoI dati molto casuali si comprimono menoStorico degli eventi su mesi e anni, a costo contenuto
Aggiornamenti e cancellazioniMutation asincrone per le correzioni occasionaliNon adatto a UPDATE frequenti su singole righeCancellazioni GDPR (i dati di un utente, su richiesta)
Viste materializzateAggregati pre-calcolati a ogni scritturaGli aggregati vanno definiti in anticipo, report per reportDashboard con aggregati precalcolati: vendite per giorno, prodotto, fonte
Tempo realeGli eventi vengono raccolti in modo asincrono e poi diventano interrogabiliNon è un sistema di streaming a livello di millisecondiStatistiche dal vivo di traffico e conversioni

ClickHouse a confronto con PostgreSQL e Google Analytics / BigQuery per l'analisi

CriterioClickHouse (4buildsite)PostgreSQL (per l'analisi)Google Analytics / BigQuery
Velocità di aggregazione sui grandi volumiAggregazioni su milioni di righeCala sensibilmente oltre le decine di milioni di righe (archiviazione per righe)BigQuery è rapido; GA4 offre report standard pre-aggregati, senza interrogazioni libere
Proprietà dei dati e GDPRI tuoi dati, sull'infrastruttura della piattaforma, in EuropaI tuoi dati, sui tuoi serverI dati restano a Google; nel 2022 le autorità UE hanno dichiarato non conformi al GDPR i trasferimenti di GA verso gli Stati Uniti
Cookie e consensoSenza cookie di tracciamento di terze partiDipende dall'implementazione sceltaRichiede un banner di consenso per il tracciamento
Tempo realeDati interrogabili dopo la raccoltaPossibile, ma i report pesanti caricano il database transazionaleI report standard di GA4 possono comparire con ore di ritardo; lo streaming di BigQuery si paga a parte
Costo sui grandi volumiOpen source: il costo è solo l'infrastruttura, inclusa nell'abbonamentoCresce con indici, vacuum e hardware sui grandi volumiBigQuery addebita in base al volume interrogato; la versione enterprise di GA è costosa
Dove gira il caricoRaccolta asincrona e reportistica su un sistema separatoI report possono competere con gli ordini sullo stesso databaseScript di terze parti (gtag.js) nella pagina: JavaScript e richieste esterne in più

Domande frequenti

ClickHouse rallenta il mio sito o il mio negozio?

ClickHouse gira su un sistema separato da quello che serve le pagine: l'architettura è progettata così. Gli eventi di traffico vengono inviati in modo asincrono e i report non toccano mai il database del negozio.

Perché non usate semplicemente Google Analytics?

Per tre motivi. I dati restano tuoi, sull'infrastruttura della piattaforma, e non finiscono a Google. Non servono cookie di tracciamento di terze parti, quindi la conformità al GDPR è più semplice: nel 2022 le autorità di Austria, Francia e Italia hanno dichiarato GA non conforme al GDPR. E i report vengono calcolati direttamente sugli eventi raccolti, in ClickHouse.

Qual è la differenza tra ClickHouse e PostgreSQL, e perché entrambi?

PostgreSQL è il database transazionale (OLTP): elabora ordini, pagamenti e giacenze uno per uno, con garanzie di correttezza. ClickHouse è il database analitico (OLAP): legge milioni di eventi in una volta sola per i report. La separazione fa sì che un report pesante non tocchi gli ordini dei tuoi clienti.

I miei dati di traffico sono al sicuro e conformi al GDPR?

Sì, per come è progettato il sistema. Le statistiche sono di prima parte: risiedono sull'infrastruttura della piattaforma, in Europa, non vengono vendute né condivise con reti pubblicitarie. L'approccio non usa cookie di tracciamento di terze parti e i dati di un utente possono essere cancellati su richiesta, in conformità al GDPR.

Quanto sono «in tempo reale» le statistiche?

Un evento — una visita, un clic, un ordine — viene raccolto in modo asincrono e poi diventa disponibile per i report. Anche le aggregazioni su periodi lunghi (mesi, anni) sono calcolate da ClickHouse, che è stato costruito proprio per questo tipo di interrogazioni.

Devo configurare qualcosa per avere le statistiche sul mio sito?

Non sarà necessario. Il modulo di statistiche è in sviluppo ed è costruito come parte della piattaforma: quando sarà attivo nel pannello di amministrazione, la raccolta partirà automaticamente per i siti pubblicati, senza script da installare e senza account esterni.

4b2b.net
Ecosistema business
4conta.ro
Contabilità
4invoices.net
App fatturazione
4expenses.net
Gestione spese
4notify.net
Notifiche
4hosting.net
Hosting
4database.net
Database
4buildsite.net
Creazione siti web
4myapp.net
Creazione app
4avatars.net
Avatar IA
4chaty.net
Chatbot IA
4webagency.net
Software per agenzie web
4softedu.net
Siti per l'istruzione
4softcrm.net
Piattaforma CRM
4softerp.net
Sistema ERP
4softhr.net
Gestione HR
4mystaff.net
Portale staff
4myprojects.net
Manager progetti
4mycontracts.net
Contratti
4docs.net
Gestione documentale
4appointments.net
Appuntamenti
4marketingonline.net
Marketing
4insurance.net
Assicurazioni
4property.net
Immobiliare
4lawyers.net
Software legale
4mygarage.net
Officina auto
4driving.net
Autoscuole
4fleet.net
Gestione flotte
4myevents.net
Eventi
4therapy.net
Terapia
4clinics.net
Cliniche
4dental.net
Studi dentistici
4restaurants.net
Ristoranti
4beautify.net
Centro estetico
4gym.net
Palestre
4guards.net
Aziende di sicurezza
4softvet.net
Cliniche veterinarie
4softauto.net
Software per il settore auto
4construct.net
Imprese di Costruzioni
4marketplace.net
Marketplace
4shopy.net
Negozio online
4pricing.net
Confronto prezzi
4salefood.net
Consegna cibo
4rentify.net
Noleggi
4transports.net
Trasporti
4agencytravel.net
Agenzia viaggi
4hotel.net
Gestione alberghiera
4ong.net
Gestione ONG