Technologieën

← Home
Analytics & data

ClickHouse — de realtime analytics-engine in de platformstack

De stack van 4buildsite omvat ClickHouse — een kolomgeoriënteerde database, speciaal gebouwd voor analyses op grote hoeveelheden data. Daarop ontstaat de module voor bezoekers- en verkoopstatistieken van het platform (in ontwikkeling): de data blijft van jou, en de registratie is losgekoppeld van je website — precies zo is de architectuur opgezet.

Wat ClickHouse is en waarom we het inzetten

ClickHouse is een kolomgeoriënteerde OLAP-database (online-analyse), bij Yandex ontwikkeld voor Yandex.Metrica — een van de grootste webanalysesystemen ter wereld — en in 2016 als open source vrijgegeven onder de Apache 2.0-licentie. Hij is gebouwd voor precies één ding, en daarin blinkt hij uit: snelle aggregaties over enorme hoeveelheden data. In de architectuur van 4buildsite is ClickHouse de engine bij uitstek voor de statistiekenlaag: elk bezoek, elke klik en elke bestelling wordt een gebeurtenis die je kunt analyseren.

Het geheim zit in de kolomsgewijze opslag: in plaats van elke „rij” volledig te lezen, leest ClickHouse alleen de kolommen die het rapport nodig heeft en verwerkt die gevectoriseerd in grote blokken. Daarom krijgt een vraag als „Hoeveel bezoekers had ik gisteren, per pagina en per bron?” zelfs over miljoenen gebeurtenissen antwoord in minder dan een seconde — iets wat een klassieke rijgeoriënteerde database aanzienlijk zwaarder valt.

Het gaat niet om een nichetechnologie: Cloudflare gebruikt hem voor de analyse van het HTTP-verkeer op wereldschaal, Uber, eBay en Spotify voor analytics en logverwerking op enorme schaal. Op 4buildsite is diezelfde engine onderdeel van de platformstack — zonder dat je een data-engineeringteam hoeft aan te nemen.

Realtime statistieken — hoe de module is opgezet

De statistiekenmodule van het platform is in ontwikkeling en de architectuur ervan is eenvoudig: bezoekersgebeurtenissen worden asynchroon verzameld en naar ClickHouse geschreven, volledig gescheiden van de servers die de pagina's uitleveren. Je bezoekers wachten niet op analytics: de registratie verloopt asynchroon, los van de servers die de pagina's uitleveren. Er staat geen trackingscript van derden op de pagina — de registratie is minimaal en first-party.

De rapporten in panel.4buildsite.net worden rechtstreeks in ClickHouse berekend: verkeer per pagina, bezoekersbronnen, conversies, verkopen per product. Veelgebruikte aggregaties worden via materialized views bij elke schrijfbewerking vooraf berekend, zodat het dashboard niet bij elke opening een zware berekening start.

  • Live verkeer: bezoeken, pagina's, bronnen en apparaten — na registratie op te vragen
  • Verkopen per product, bestellingen en conversies van je webshop, geaggregeerd in ClickHouse
  • Historie over maanden en jaren tegen lage kosten — de kolomsgewijze compressie verkleint de opslagbehoefte tot een veelvoud onder de ruwe data
  • De registratie loopt asynchroon, de analyse op een apart systeem

PostgreSQL en ClickHouse: waarom we ze allebei inzetten

De platformstack combineert twee databases, omdat ze fundamenteel verschillende dingen doen. PostgreSQL is het transactieregister (OLTP): bestellingen, betalingen, voorraad, gebruikersaccounts — handelingen die stuk voor stuk absoluut correct moeten zijn, met transactionele garanties. ClickHouse is de analyseruimte (OLAP): miljoenen gebeurtenissen worden in één keer gelezen om je vragen over verkeer en verkopen te beantwoorden.

Zouden de zware rapporten op dezelfde database draaien die de bestellingen verwerkt, dan zou elk rapport concurreren met de klanten die op dat moment afrekenen. De scheiding van OLTP en OLAP neemt dat conflict weg: de bestelling wacht niet op jouw rapport, en jouw rapport wacht niet op de bestellingen van anderen. Elke engine doet precies waarvoor hij gebouwd is.

  • PostgreSQL: bestellingen, Stripe-betalingen, voorraad, klanten — transactionele correctheid
  • ClickHouse: verkeersgebeurtenissen, rapporten, statistieken — aggregatie over grote hoeveelheden
  • Het ontwerp voorziet erin dat de relevante transactiegegevens als gebeurtenissen in ClickHouse terechtkomen, zodat verkooprapporten nooit de database raken die de webshop bedient

Eigen, privacyvriendelijke analytics — in plaats van Google Analytics

Het uitgangspunt van de statistiekenmodule: de data van je website blijft op de infrastructuur van het platform. Ze wordt niet doorgegeven aan Google of andere advertentienetwerken, niet verkocht en niet samengevoegd met externe gebruikersprofielen. Dat is first-party analytics in de eigenlijke zin: de data over je bezoekers is van jou.

Omdat de aanpak zonder trackingcookies van derden werkt, wordt AVG-conformiteit een stuk eenvoudiger. De context telt: in 2022 verklaarden de privacytoezichthouders van Oostenrijk, Frankrijk en Italië het gebruik van Google Analytics wegens de gegevensdoorgifte naar de VS niet AVG-conform. Met eigen, in Europa gehoste analytics vervalt die risicocategorie bij voorbaat.

Er is ook een direct praktisch voordeel: in ClickHouse berekende rapporten zijn niet gesampled. Volledige cijfers.

Webshop- en marktplaatsrapporten — wat de module gaat leveren

Voor een webshop gaat ClickHouse antwoord geven op de bepalende vragen: welke producten verkopen, uit welke bronnen de kopende klanten komen, waar winkelwagens worden afgebroken. Voor een multi-vendor marktplaats draaien dezelfde aggregaties over alle bestellingen: volume per verkoper, commissies, topproducten per categorie — zonder handmatige exports en zonder spreadsheets.

Ook op grote schaal blijven de zaken goedkoop. De kolomsgewijze compressie verkleint de data tot een veelvoud onder het ruwe formaat, zodat je jarenlange historie tegen lage opslagkosten kunt bewaren. En wanneer het verkeer groeit van duizenden naar miljoenen gebeurtenissen, blijft de engine ontworpen voor miljarden rijen — hij is niet achteraf aangepast.

Voordelen en beperkingen

Voordelen

  • Aggregaties over miljoenen gebeurtenissen in minder dan een seconde, dankzij de kolomsgewijze opslag.
  • Analytics draait op een systeem los van het systeem dat de pagina's uitlevert.
  • De verkeersdata blijft van jou, op de infrastructuur van het platform — zonder doorgifte aan Google of advertentienetwerken.
  • Geen trackingcookies van derden — eenvoudiger AVG-conformiteit.
  • Sterke kolomsgewijze compressie — jarenlange historie tegen lage opslagkosten.
  • Open source (Apache 2.0), zonder volumeafhankelijke licenties — de kosten exploderen niet wanneer het verkeer groeit.

Beperkingen

  • Het is geen transactionele database — losse rijen wijzigen of verwijderen is een zware bewerking; daarom staan bestellingen en betalingen in PostgreSQL.
  • Geoptimaliseerd voor schrijfbewerkingen in grote batches; veel kleine, frequente inserts vragen om batching — het platform neemt dat over, maar het blijft een reële grens van de engine.
  • Complexe JOINs zijn minder flexibel dan in PostgreSQL — het gebeurtenisschema moet vanaf het begin voor analyse worden ontworpen.
  • Het zoeken naar één enkele rij (point lookup) is trager dan in een geïndexeerde OLTP-database — het vervangt de hoofddatabase van de webshop niet.

Kort oordeel

ClickHouse is de juiste keuze voor analyses op grote hoeveelheden: bezoekers- en verkoopstatistieken in realtime, met jouw data, los van je website. Voor bestellingen, betalingen en voorraad blijft het bij PostgreSQL — daarom combineert de stack van 4buildsite ze allebei, elk voor dat waarin hij het best is. De op ClickHouse gebouwde statistiekenmodule is in ontwikkeling.

Specificatietabel

MogelijkheidGrens / drempelTypisch gebruik
Analytische aggregatiesMinder dan een seconde over miljoenen gebeurtenissen (kolomgeoriënteerd en gevectoriseerd)Traag bij het zoeken naar één enkele rij — niet bedoeld voor OLTP-lookupsBezoekers- en verkooprapporten (statistiekenmodule, in ontwikkeling)
GebeurtenisopnameGrote hoeveelheden, in batches geschrevenKleine, frequente inserts vragen om batching of asynchrone insertsRegistratie van paginaweergaven, klikken, bestellingen
Opslag & compressieKolomsgewijze compressie (LZ4/ZSTD), een veelvoud onder het ruwe volumeZeer willekeurige data laat zich slechter comprimerenGebeurtenishistorie over maanden en jaren, tegen lage kosten
Updates & verwijderingenAsynchrone mutations voor incidentele correctiesOngeschikt voor frequente UPDATEs van losse rijenAVG-verwijderingen (de data van een gebruiker, op verzoek)
Materialized viewsBij elke schrijfbewerking vooraf berekende aggregatenDe aggregaten moeten per rapport vooraf worden gedefinieerdDashboards: verkopen per dag, product, bron
RealtimeGebeurtenissen zijn na hun optreden op te vragenGeen streamingsysteem in het millisecondenbereikLive statistieken over verkeer en conversies

ClickHouse, PostgreSQL en Google Analytics / BigQuery — voor analytics

CriteriumClickHouse (4buildsite)PostgreSQL (voor analytics)Google Analytics / BigQuery
Aggregatiesnelheid bij grote hoeveelhedenMinder dan een seconde over miljoenen rijenZakt merkbaar af bij tientallen miljoenen rijen (rijsgewijze opslag)BigQuery snel; GA4 biedt vooraf geaggregeerde standaardrapporten, zonder vrije query's
Datasoevereiniteit / AVGJouw data, op de infrastructuur van het platform, in EuropaJouw data, op je eigen serversDe data ligt bij Google; de GA-doorgiftes naar de VS werden in 2022 door EU-toezichthouders niet AVG-conform verklaard
Cookies & toestemmingZonder trackingcookies van derdenHangt af van de eigen implementatieVereist een toestemmingsbanner voor de tracking
RealtimeData na verzameling op te vragenMogelijk, maar zware rapporten belasten de transactiedatabaseDe standaardrapporten van GA4 kunnen uren vertraagd verschijnen; BigQuery-streaming kost extra
Kosten bij grote hoeveelhedenOpen source — de kosten zijn alleen de infrastructuur, inbegrepen in het abonnementStijgen bij grote hoeveelheden met indexen, vacuum en hardwareBigQuery rekent af naar opgevraagd volume; de enterprise-variant van GA is duur
Invloed op de snelheid van de websiteAsynchrone registratie, analyse op een apart systeemRapporten kunnen op dezelfde database concurreren met de bestellingenScript van derden (gtag.js) in de pagina — extra JavaScript en externe requests

Veelgestelde vragen

Heeft ClickHouse invloed op de snelheid van mijn website of mijn webshop?

ClickHouse draait op een systeem los van het systeem dat de pagina's uitlevert — zo is de architectuur opgezet. Verkeersgebeurtenissen worden asynchroon verstuurd en de rapporten raken nooit de database van de webshop.

Waarom gebruiken jullie niet gewoon Google Analytics?

Om drie redenen. De data blijft van jou, op de infrastructuur van het platform, niet bij Google. Je hebt geen trackingcookies van derden nodig, waardoor AVG-conformiteit eenvoudiger wordt — in 2022 verklaarden toezichthouders in Oostenrijk, Frankrijk en Italië GA niet AVG-conform. En de rapporten verschijnen volledig, niet gesampled.

Wat onderscheidt ClickHouse van PostgreSQL — waarom allebei?

PostgreSQL is de transactionele database (OLTP): die verwerkt bestellingen, betalingen en voorraad stuk voor stuk, met garanties op correctheid. ClickHouse is de analytische database (OLAP): die leest miljoenen gebeurtenissen in één keer voor rapporten.

Is mijn verkeersdata veilig en AVG-conform?

Ja — al vanuit het ontwerp. De statistieken zijn first-party: ze staan op de infrastructuur van het platform in Europa, worden niet verkocht en niet gedeeld met advertentienetwerken. De aanpak werkt zonder trackingcookies van derden, en de data van een gebruiker kan op verzoek AVG-conform worden verwijderd.

Hoe „realtime” zijn de statistieken?

Een gebeurtenis — een bezoek, een klik, een bestelling — is na het optreden ervan zichtbaar in de rapporten. Aggregaties over lange periodes (maanden, jaren) werken eveneens, want ClickHouse is precies voor dit soort query's gebouwd.

Moet ik iets instellen om statistieken voor mijn website te krijgen?

Dat zal niet nodig zijn. De statistiekenmodule is in ontwikkeling en wordt gebouwd als onderdeel van het platform: zodra die actief is in het beheergedeelte, start de registratie voor gepubliceerde websites automatisch — zonder scripts om te installeren en zonder externe accounts.

4b2b.net
Business-ecosysteem
4conta.ro
Boekhouding
4invoices.net
Facturatie-app
4expenses.net
Onkostenbeheer
4notify.net
Meldingen
4hosting.net
Hosting
4database.net
Databases
4buildsite.net
Websitebouwer
4myapp.net
Appbouwer
4avatars.net
AI-avatars
4chaty.net
AI-chatbot
4webagency.net
Software voor webbureaus
4softedu.net
Onderwijswebsites
4softcrm.net
CRM-platform
4softerp.net
ERP-systeem
4softhr.net
HR-beheer
4mystaff.net
Personeelsportaal
4myprojects.net
Projectbeheer
4mycontracts.net
Contracten
4docs.net
Documentbeheer
4appointments.net
Afspraken
4marketingonline.net
Marketing
4insurance.net
Verzekeringen
4property.net
Vastgoed
4lawyers.net
Juridische software
4mygarage.net
Autogarage
4driving.net
Rijscholen
4fleet.net
Wagenparkbeheer
4myevents.net
Evenementen
4therapy.net
Therapie
4clinics.net
Klinieken
4dental.net
Tandartspraktijken
4restaurants.net
Restaurants
4beautify.net
Schoonheidssalon
4gym.net
Sportscholen
4guards.net
Beveiligingsbedrijven
4softvet.net
Dierenartsen
4softauto.net
Software voor autobedrijven
4construct.net
Bouwbedrijven
4marketplace.net
Marktplaats
4shopy.net
Webshop
4pricing.net
Prijsvergelijking
4salefood.net
Maaltijdbezorging
4rentify.net
Verhuur
4transports.net
Transport
4agencytravel.net
Reisbureau
4hotel.net
Hotelbeheer
4ong.net
NGO-beheer