Teknologier

← Forside
Analyse & data

ClickHouse — realtidsanalysemotoren i platformens stak

4buildsite-stakken omfatter ClickHouse — en kolonneorienteret database bygget specifikt til analyse af store datamængder. Det er den, vi bygger platformens modul til trafik- og salgsstatistik på (under udvikling): dataene forbliver dine — sådan er arkitekturen designet.

Hvad ClickHouse er, og hvorfor vi bruger det

ClickHouse er en kolonneorienteret OLAP-database (online-analyse), skabt hos Yandex til Yandex.Metrica — et af verdens største webanalysesystemer — og udgivet som open source i 2016 under Apache 2.0-licensen. Den er bygget til én ting, som den gør usædvanligt godt: hurtige aggregeringer over enorme datamængder. I 4buildsite-arkitekturen er ClickHouse den motor, der er valgt til statistiklaget: hvert besøg, hvert klik og hver ordre bliver til en hændelse, der kan analyseres med det samme.

Hemmeligheden er kolonnelagring: i stedet for at læse hver hel »række« læser ClickHouse kun de kolonner, rapporten har brug for, og behandler dem i store, vektoriserede blokke. Derfor besvares et spørgsmål som »hvor mange besøgende havde jeg i går, pr. side, pr. kilde« på under et sekund, selv over millioner af hændelser — noget, en klassisk rækkeorienteret database har svært ved.

Det er ikke en nicheteknologi: Cloudflare bruger den til at analysere HTTP-trafik i global skala, og Uber, eBay og Spotify bruger den til analyse og logbehandling i enorme mængder. På 4buildsite er den samme motor en del af platformens stak — uden at du skal ansætte et data engineering-team.

Realtidsstatistik — sådan er modulet designet

Platformens statistikmodul er under udvikling, og dets arkitektur er enkel: trafikhændelser indsamles asynkront og skrives til ClickHouse, helt adskilt fra de servere, der leverer dine sider. Analysen kører i et separat system fra siderne. Der er ikke noget tungt tredjepartssporingsscript på dine sider — indsamlingen er minimal og first-party.

Rapporterne i panel.4buildsite.net vil blive beregnet direkte i ClickHouse: sidetrafik, besøgskilder, konverteringer, salg pr. produkt. Hyppige aggregeringer forudberegnes via materialized views ved hver skrivning, så dashboardet åbner — det starter ikke en tung beregning, hver gang du kigger på det.

  • Live trafik: besøg, sider, kilder og enheder — kan forespørges efter indsamling
  • Salg pr. produkt, ordrer og konverteringer for din webshop, aggregeret
  • Måneders og års historik til lav pris — kolonnekomprimering reducerer lagerpladsen flere gange i forhold til rådata
  • Ingen påvirkning af sitets hastighed: indsamlingen er asynkron, rapporteringen kører på et separat system

PostgreSQL + ClickHouse: hvorfor vi bruger begge

Platformens stak kombinerer to databaser, fordi de gør fundamentalt forskellige ting. PostgreSQL er det transaktionelle regnskab (OLTP): ordrer, betalinger, lagerbeholdning, brugerkonti — operationer, der skal være fuldstændig korrekte én for én, med transaktionelle garantier. ClickHouse er analyserummet (OLAP): millioner af hændelser læst på én gang for at besvare dine spørgsmål om trafik og salg.

Hvis tunge rapporter kørte på den samme database, som behandler ordrer, ville hver rapport konkurrere med de kunder, der betaler netop i det øjeblik. Opdelingen i OLTP/OLAP fjerner denne konflikt: en kundes ordre og din rapport kører i separate systemer. Hver motor gør præcis det, den er bygget til.

  • PostgreSQL: ordrer, Stripe-betalinger, lagerbeholdning, kunder — transaktionel korrekthed
  • ClickHouse: trafikhændelser, rapporter, statistik — aggregering ved store mængder
  • Designet replikerer relevante transaktionelle data til ClickHouse som hændelser, så salgsrapporter aldrig rører den database, der betjener din webshop

First-party, privatlivsvenlig analyse — i stedet for Google Analytics

Statistikmodulets princip: dit sites data forbliver på platformens infrastruktur. De sendes ikke til Google eller andre reklamenetværk, sælges ikke og blandes ikke med eksterne brugerprofiler. Det er first-party-analyse i ordets bogstaveligste forstand: dataene om dine besøgende er dine.

Fordi fremgangsmåden ikke bruger tredjeparts sporingscookies, bliver GDPR-overholdelse meget enklere. Konteksten er vigtig: i 2022 erklærede databeskyttelsesmyndighederne i Østrig, Frankrig og Italien brugen af Google Analytics for ikke at være i overensstemmelse med GDPR på grund af dataoverførsler til USA. Med first-party-analyse hostet i Europa er hele den risikokategori væk fra starten.

Der er også en direkte praktisk fordel: rapporter beregnet i ClickHouse er ikke samplede, i modsætning til standardrapporter i gratis analyseværktøjer. Komplette tal.

Rapporter for webshops og marketplaces — hvad modulet vil levere

For en webshop vil ClickHouse betyde svar på de spørgsmål, der tæller: hvilke produkter sælger, hvilke kilder bringer de kunder, der rent faktisk køber, og hvor bliver indkøbskurve forladt. For en marketplace med flere sælgere vil de samme aggregeringer køre på tværs af alle ordrer: volumen pr. sælger, provisioner, topprodukter pr. kategori — uden manuelle eksporter og uden regneark.

Og i stor skala forbliver tingene billige og hurtige. Kolonnekomprimering reducerer data flere gange i forhold til råformatet, så du beholder års historik til lav lagerpris. Når trafikken vokser fra tusinder til millioner af hændelser, forbliver aggregeringerne på under et sekund — motoren blev designet til milliarder af rækker fra starten, ikke eftermonteret senere.

Fordele og begrænsninger

Fordele

  • Aggregeringer over millioner af hændelser — rapporter med aggregerede data.
  • Ingen påvirkning af sitets hastighed: analysen kører på et system adskilt fra det, der serverer siderne.
  • Dine trafikdata forbliver dine, på platformens infrastruktur — ingen overførsel til Google eller reklamenetværk.
  • Ingen tredjeparts sporingscookies — enklere GDPR-overholdelse.
  • Kraftig kolonnekomprimering — års historik til lav lagerpris.
  • Open source (Apache 2.0), ingen licenser pr. volumen — prisen eksploderer ikke, når trafikken vokser.

Begrænsninger

  • Ikke en transaktionel database — opdatering eller sletning af enkelte rækker er en tung operation; derfor ligger ordrer og betalinger i PostgreSQL.
  • Optimeret til store batchede skrivninger; mange små hyppige inserts kræver batching — platformen håndterer det, men det er en reel begrænsning i motoren.
  • Komplekse JOINs er mindre fleksible end i PostgreSQL — hændelsesskemaet skal designes til analyse fra start.
  • Opslag på en enkelt række (point lookup) er langsommere end i en indekseret OLTP-database — den erstatter ikke webshoppens hoveddatabase.

Kort konklusion

ClickHouse er det rigtige valg til analyse ved store mængder: realtidsstatistik over trafik og salg, med dine egne data, uden at røre sitets hastighed. Til ordrer, betalinger og lagerbeholdning bliver PostgreSQL — derfor kombinerer 4buildsite-stakken begge, hver til det, den er bedst til. Statistikmodulet bygget på ClickHouse er under udvikling.

Specifikationstabel

EgenskabGrænse / tærskelTypisk anvendelse
Analytiske aggregeringerUnder et sekund over millioner af hændelser (kolonneorienteret + vektoriseret)Langsom ved opslag på enkelte rækker — ikke til OLTP-point readsTrafik- og salgsrapporter (statistikmodul, under udvikling)
Indlæsning af hændelserStore mængder, skrevet i batchesSmå hyppige inserts kræver batching / async insertIndsamling af sidevisninger, klik, ordrer
Lagring og komprimeringKolonnekomprimering (LZ4/ZSTD), flere gange under rådatamængdenMeget tilfældige data komprimeres mindreMåneders og års hændelseshistorik, til lav pris
Opdateringer og sletningerAsynkrone mutationer til lejlighedsvise rettelserUegnet til hyppige UPDATE på enkelte rækkerGDPR-sletninger (én brugers data, efter anmodning)
Materialized viewsAggregater forudberegnes ved hver skrivningAggregater skal defineres på forhånd, pr. rapportDashboards: salg pr. dag, produkt, kilde
RealtidHændelser kan forespørges, efter de er sketIkke et streamingsystem på millisekundniveauLive trafik- og konverteringsstatistik

ClickHouse vs. PostgreSQL vs. Google Analytics / BigQuery — til analyse

KriteriumClickHouse (4buildsite)PostgreSQL (til analyse)Google Analytics / BigQuery
Aggregeringshastighed ved store mængderUnder et sekund over millioner af rækkerForringes tydeligt over titusinder af millioner af rækker (rækkelagring)BigQuery er hurtig; GA4 har forudaggregerede standardrapporter, ingen frie forespørgsler
Dataejerskab / GDPRDine data, på platformens infrastruktur, i EuropaDine data, på dine servereData hos Google; GA's overførsler til USA blev i 2022 erklæret i strid med GDPR af EU-myndigheder
Cookies og samtykkeIngen tredjeparts sporingscookiesAfhænger af din egen implementeringKræver et samtykkebanner til sporing
RealtidData kan forespørgesMuligt, men tunge rapporter belaster den transaktionelle databaseGA4-standardrapporter kan halte timer bagud; BigQuery-streaming koster ekstra
Pris ved store mængderOpen source — prisen er kun infrastruktur, inkluderet i abonnementetVokser med indekser, vacuum og hardware ved store mængderBigQuery afregner pr. forespurgt volumen; GA's enterprise-niveau er dyrt
Påvirkning af sitets hastighedIngen — asynkron indsamling, rapportering på et separat systemRapporter kan konkurrere med ordrer på den samme databaseTredjepartsscript (gtag.js) på siden — ekstra JavaScript og eksterne forespørgsler

Ofte stillede spørgsmål

Gør ClickHouse mit site eller min webshop langsommere?

ClickHouse kører på et system adskilt fra det, der serverer dine sider — sådan er arkitekturen designet. Trafikhændelser sendes asynkront, og rapporter rører aldrig webshoppens database.

Hvorfor ikke bare bruge Google Analytics?

Tre grunde. Dataene forbliver dine, på platformens infrastruktur, ikke hos Google. Du har ikke brug for tredjeparts sporingscookies, så GDPR-overholdelse er enklere — i 2022 erklærede myndigheder i Østrig, Frankrig og Italien GA for ikke at overholde GDPR. Og rapporter er komplette, ikke samplede.

Hvad er forskellen på ClickHouse og PostgreSQL — hvorfor begge?

PostgreSQL er den transaktionelle (OLTP) database: den behandler ordrer, betalinger og lagerbeholdning én for én, med garantier for korrekthed. ClickHouse er den analytiske (OLAP) database: den læser millioner af hændelser på én gang til rapporter. Opdelingen betyder, at en tung rapport kører i et separat system fra dine kunders ordrer.

Er mine trafikdata sikre og i overensstemmelse med GDPR?

Ja — i kraft af designet. Statistikken er first-party: den ligger på platformens infrastruktur, i Europa, og sælges eller deles aldrig med reklamenetværk. Fremgangsmåden bruger ingen tredjeparts sporingscookies, og en brugers data kan slettes efter anmodning i overensstemmelse med GDPR.

Hvor »realtid« er statistikken?

En hændelse — et besøg, et klik, en ordre — bliver synlig i rapporterne, efter den er sket. Aggregeringer over lange perioder (måneder, år) besvares stadig på under et sekund, fordi ClickHouse er bygget netop til denne type forespørgsler.

Skal jeg sætte noget op for at få statistik på mit site?

Det behøver du ikke. Statistikmodulet er under udvikling og bygget som en del af platformen: når det går live i adminpanelet, starter indsamlingen automatisk for publicerede sites — ingen scripts at installere og ingen eksterne konti.

4b2b.net
Forretningsøkosystem
4conta.ro
Bogføring
4invoices.net
Faktureringsapp
4expenses.net
Udgiftsstyring
4notify.net
Notifikationer
4hosting.net
Webhotel
4database.net
Databaser
4buildsite.net
Hjemmesidebygger
4myapp.net
App-bygger
4avatars.net
AI-avatarer
4chaty.net
AI-chatbot
4webagency.net
Software til webbureauer
4softedu.net
Hjemmesider til uddannelse
4softcrm.net
CRM-platform
4softerp.net
ERP-system
4softhr.net
HR-styring
4mystaff.net
Medarbejderportal
4myprojects.net
Projektstyring
4mycontracts.net
Kontrakter
4docs.net
Dokumenthåndtering
4appointments.net
Booking
4marketingonline.net
Markedsføring
4insurance.net
Forsikring
4property.net
Ejendomsmæglere
4lawyers.net
Advokatsystem
4mygarage.net
Autoværksted
4driving.net
Køreskoler
4fleet.net
Bilflåde
4myevents.net
Events
4therapy.net
Terapi
4clinics.net
Klinikker
4dental.net
Tandklinikker
4restaurants.net
Restauranter
4beautify.net
Skønhedssalon
4gym.net
Fitnesscentre
4guards.net
Vagtvirksomheder
4softvet.net
Dyreklinikker
4softauto.net
Software til autobranchen
4construct.net
Byggevirksomheder
4marketplace.net
Markedsplads
4shopy.net
Webshop
4pricing.net
Prissammenligning
4salefood.net
Madlevering
4rentify.net
Udlejning
4transports.net
Transport
4agencytravel.net
Rejsebureau
4hotel.net
Hotelsystem
4ong.net
Foreningsstyring