Teknologier

← Hjem
Analyse og data

ClickHouse — sanntidsanalysemotoren i plattformens stack

4buildsite-stacken inkluderer ClickHouse — en kolonnebasert database laget spesielt for analyse ved høyt volum. Oppå den bygger vi plattformens statistikkmodul for trafikk og salg (under utvikling): dataene forblir dine, og innsamlingen er skilt fra systemet som leverer sidene — slik er arkitekturen utformet.

Hva er ClickHouse, og hvorfor bruker vi det

ClickHouse er en kolonnebasert database av typen OLAP (online analytical processing), laget hos Yandex for Yandex.Metrica — et av verdens største systemer for webanalyse — og utgitt som åpen kildekode i 2016 under Apache 2.0-lisens. Den er bygget for én ting, som den gjør eksepsjonelt godt: raske aggregeringer over enorme datamengder. I 4buildsite-arkitekturen er ClickHouse motoren som er valgt for statistikklaget: hvert besøk, hvert klikk og hver ordre blir en hendelse som kan analyseres.

Hemmeligheten er kolonnelagring: i stedet for å lese hver hele «rad» leser ClickHouse bare kolonnene rapporten trenger og behandler dem vektorisert, i store blokker. Derfor er et spørsmål som «hvor mange besøkende hadde vi i går, på hver side, fra hver kilde» en typisk ClickHouse-spørring, også over millioner av hendelser — noe en klassisk, radorientert database løser mye vanskeligere.

Dette er ikke en nisjeteknologi: Cloudflare bruker den til å analysere HTTP-trafikk i global skala, og Uber, eBay og Spotify bruker den til analyse og loggbehandling ved enorme volumer. På 4buildsite er den samme motoren en del av plattformens stack — uten at du må ansette et team av datainnenører.

Sanntidsstatistikk adskilt fra nettstedet — slik er modulen utformet

Plattformens statistikkmodul er under utvikling, og arkitekturen er enkel: trafikkhendelsene samles inn asynkront og skrives til ClickHouse, helt adskilt fra serverne som leverer sidene. Innsamlingen skjer utenom forespørselen som leverer siden, og rapportene kjøres i et eget lag. Det brukes ikke noe tungt tredjeparts sporingsskript — innsamlingen er minimal og first-party.

Rapportene i panel.4buildsite.net skal beregnes direkte i ClickHouse: trafikk per side, besøkskilder, konverteringer, salg per produkt. Hyppige aggregeringer forhåndsberegnes med materialized views ved hver skriving, så dashbordet viser ferdig beregnede tall — det starter ikke en tung beregning hver gang du ser på det.

  • Trafikk: besøk, sider, kilder og enheter — kan spørres etter innsamling
  • Salg per produkt, ordrer og konverteringer for nettbutikken din, aggregert i ClickHouse
  • Historikk over måneder og år til lav kostnad — kolonnekomprimering reduserer lagringen flere ganger sammenlignet med rådata
  • Innsamlingen er asynkron, rapporteringen kjører på et annet system

PostgreSQL + ClickHouse: hvorfor vi bruker begge

Plattformens stack kombinerer to databaser fordi de gjør fundamentalt forskjellige ting. PostgreSQL er transaksjonsregisteret (OLTP): ordrer, betalinger, lagerbeholdning, brukerkontoer — operasjoner som må være helt korrekte én etter én, med transaksjonsgarantier. ClickHouse er analyserommet (OLAP): millioner av hendelser leses samtidig for å besvare spørsmål om trafikk og salg.

Hvis tunge rapporter kjørte på den samme databasen som behandler ordrene, ville hver rapport konkurrere med kundene som betaler akkurat da. Skillet mellom OLTP og OLAP fjerner denne konflikten: kundens ordre og rapporten din kjører i separate systemer. Hver motor gjør nøyaktig det den er bygget for.

  • PostgreSQL: ordrer, Stripe-betalinger, lagerbeholdning, kunder — transaksjonell korrekthet
  • ClickHouse: trafikkhendelser, rapporter, statistikk — aggregering ved høyt volum
  • Designet legger opp til at relevante transaksjonsdata havner i ClickHouse som hendelser, slik at salgsrapportene aldri berører databasen som betjener nettbutikken

Egen analytics, personvernvennlig — i stedet for Google Analytics

Prinsippet bak statistikkmodulen: nettstedets data blir på plattformens infrastruktur. De sendes ikke til Google eller andre annonsenettverk, selges ikke og kombineres ikke med eksterne brukerprofiler. Dette er first-party analytics i ordets egentlige forstand: dataene om de besøkende dine er dine.

Fordi tilnærmingen ikke bruker tredjeparts sporingsinformasjonskapsler, blir GDPR-etterlevelsen mye enklere. Konteksten teller: i 2022 erklærte personvernmyndighetene i Østerrike, Frankrike og Italia bruken av Google Analytics for å stride mot GDPR på grunn av dataoverføringer til USA. Med egen analytics, driftet i Europa, forsvinner denne risikokategorien fra start.

Det finnes også en direkte praktisk fordel: rapportene som beregnes i ClickHouse er ikke utvalgsbaserte, i motsetning til standardrapportene i gratis analyseverktøy. Tallene er fullstendige.

Rapporter for nettbutikk og markedsplass — hva modulen skal levere

For en nettbutikk vil ClickHouse gi svar på de spørsmålene som teller: hvilke produkter som selger, fra hvilke kilder kundene som kjøper kommer, og hvor handlekurver forlates. For en markedsplass med flere selgere vil de samme aggregeringene kjøres over alle ordrene: volum per selger, provisjoner, toppprodukter per kategori — uten manuelle eksporter og uten regneark.

Og i stor skala holdes kostnadene nede. Kolonnekomprimering reduserer dataene flere ganger sammenlignet med råformatet, så du beholder historikk i årevis til lav lagringskostnad. Også når trafikken vokser fra tusenvis til millioner av hendelser, er det den samme motoren, utformet fra starten for milliarder av rader, ikke tilpasset i ettertid.

Fordeler og begrensninger

Fordeler

  • Kolonnebaserte, vektoriserte aggregeringer over millioner av hendelser.
  • Analytics kjører på et system adskilt fra det som serverer sidene.
  • Trafikkdataene forblir dine, på plattformens infrastruktur — uten overføring til Google eller annonsenettverk.
  • Ingen tredjeparts sporingsinformasjonskapsler — enklere GDPR-etterlevelse.
  • Kraftig kolonnekomprimering — historikk i årevis til lav lagringskostnad.
  • Åpen kildekode (Apache 2.0), uten volumbaserte lisenser — kostnaden eksploderer ikke når trafikken vokser.

Begrensninger

  • Er ikke en transaksjonsdatabase — å endre eller slette enkeltrader er en tung operasjon; derfor ligger ordrer og betalinger i PostgreSQL.
  • Optimalisert for skriving i store batcher; mange små og hyppige insert-er krever batching — plattformen håndterer det, men det er en reell begrensning ved motoren.
  • Komplekse JOIN-er er mindre fleksible enn i PostgreSQL — hendelsesskjemaet må utformes for analyse fra starten.
  • Oppslag av en enkelt rad (point lookup) er tregere enn i en indeksert OLTP-database — den erstatter ikke nettbutikkens hoveddatabase.

Kort vurdering

ClickHouse er det riktige valget for analyse ved høyt volum: statistikk for trafikk og salg i sanntid, med dine egne data, adskilt fra nettstedet. For ordrer, betalinger og lagerbeholdning blir PostgreSQL stående — derfor kombinerer 4buildsite-stacken begge, hver til det den er best på. Statistikkmodulen bygget på ClickHouse er under utvikling.

Spesifikasjonstabell

EgenskapGrense / terskelTypisk bruk
Analytiske aggregeringerKolonnebasert + vektorisert, over millioner av hendelserTregt ved oppslag av en enkelt rad — ikke til OLTP-oppslagRapporter for trafikk og salg (statistikkmodulen, under utvikling)
Innhenting av hendelserStore volumer, skrevet i batcherSmå og hyppige insert-er krever batching / async insertInnsamling av sidevisninger, klikk og ordrer
Lagring og komprimeringKolonnekomprimering (LZ4/ZSTD), flere ganger under råvolumetSvært tilfeldige data komprimeres mindreHendelseshistorikk over måneder og år, til lav kostnad
Oppdateringer og slettingerAsynkrone mutations for tilfeldige rettelserUegnet for hyppige UPDATE-er på enkeltraderGDPR-slettinger (en brukers data, på forespørsel)
Materialized viewsForhåndsberegnede aggregater ved hver skrivingAggregatene må defineres på forhånd, per rapportFerdig beregnede dashbord: salg per dag, produkt, kilde
SanntidHendelsene kan spørres etter innsamlingEr ikke et streamingsystem på millisekundnivåLive statistikk for trafikk og konverteringer

ClickHouse mot PostgreSQL mot Google Analytics / BigQuery — for analyse

KriteriumClickHouse (4buildsite)PostgreSQL (til analyse)Google Analytics / BigQuery
Aggregering ved høyt volumKolonnebasert og vektorisert, bygget for millioner av raderRadlagring — tunge aggregeringer belaster databasenBigQuery er kolonnebasert; GA4 har forhåndsaggregerte standardrapporter, uten frie spørringer
Eierskap til data / GDPRDine data, på plattformens infrastruktur, i EuropaDine data, på dine egne servereDataene hos Google; GA-overføringer til USA erklært i strid med GDPR av EU-myndigheter i 2022
Informasjonskapsler og samtykkeIngen tredjeparts sporingsinformasjonskapslerAvhenger av egen implementeringKrever samtykkebanner for sporing
SanntidData kan spørres etter innsamlingMulig, men tunge rapporter belaster transaksjonsdatabasenStandardrapporter i GA4 kan dukke opp med timers forsinkelse; BigQuery-streaming koster ekstra
Kostnad ved volumÅpen kildekode — kostnaden er bare infrastrukturen, inkludert i abonnementetVokser med indekser, vacuum og maskinvare ved store volumerBigQuery belaster per spørt volum; enterprise-varianten av GA er kostbar
Belastning på nettstedetAsynkron innsamling, rapportering på separat systemRapportene kan konkurrere med ordrene på samme databaseTredjepartsskript (gtag.js) på siden — ekstra JavaScript og eksterne forespørsler

Ofte stilte spørsmål

Gjør ClickHouse nettstedet eller nettbutikken min tregere?

ClickHouse kjører på et system adskilt fra det som serverer sidene — slik er arkitekturen utformet. Trafikkhendelsene sendes asynkront, og rapportene berører aldri nettbutikkens database.

Hvorfor bruker dere ikke bare Google Analytics?

Tre grunner. Dataene forblir dine, på plattformens infrastruktur, ikke hos Google. Du trenger ikke tredjeparts sporingsinformasjonskapsler, så GDPR-etterlevelsen er enklere — i 2022 erklærte myndigheter i Østerrike, Frankrike og Italia GA for å stride mot GDPR. Og rapportene er fullstendige, ikke utvalgsbaserte.

Hva er forskjellen på ClickHouse og PostgreSQL — hvorfor begge?

PostgreSQL er transaksjonsdatabasen (OLTP): den behandler ordrer, betalinger og lagerbeholdning, én etter én, med korrekthetsgarantier. ClickHouse er analysedatabasen (OLAP): den leser millioner av hendelser samtidig for rapporter. Skillet betyr at en tung rapport ikke kjører på databasen som behandler kundenes ordrer.

Er trafikkdataene mine trygge og i samsvar med GDPR?

Ja — gjennom designet. Statistikken er first-party: den ligger på plattformens infrastruktur, i Europa, selges ikke og deles ikke med annonsenettverk. Tilnærmingen bruker ikke tredjeparts sporingsinformasjonskapsler, og en brukers data kan slettes på forespørsel, i tråd med GDPR.

Hvor «i sanntid» er statistikken?

En hendelse — et besøk, et klikk, en ordre — kan spørres i rapportene etter innsamling. Aggregeringer over lange perioder (måneder, år) kjøres i ClickHouse, som er bygget nøyaktig for denne typen spørringer.

Må jeg konfigurere noe for å få statistikk på nettstedet mitt?

Det vil ikke være nødvendig. Statistikkmodulen er under utvikling og bygges som en del av plattformen: når den blir aktiv i administrasjonspanelet, starter innsamlingen automatisk for de publiserte nettstedene — uten skript å installere og uten eksterne kontoer.

4b2b.net
Forretningsøkosystem
4conta.ro
Regnskap
4invoices.net
Faktureringsapp
4expenses.net
Utgiftsstyring
4notify.net
Varsler
4hosting.net
Webhotell
4database.net
Databaser
4buildsite.net
Nettsidebygger
4myapp.net
App-bygger
4avatars.net
AI-avatarer
4chaty.net
AI-chatbot
4webagency.net
Programvare for webbyråer
4softedu.net
Nettsider for utdanning
4softcrm.net
CRM-plattform
4softerp.net
ERP-system
4softhr.net
HR-styring
4mystaff.net
Medarbeiderportal
4myprojects.net
Prosjektstyring
4mycontracts.net
Kontrakter
4docs.net
Dokumenthåndtering
4appointments.net
Timebestilling
4marketingonline.net
Markedsføring
4insurance.net
Forsikring
4property.net
Eiendomsmegling
4lawyers.net
Advokatsystem
4mygarage.net
Bilverksted
4driving.net
Trafikkskoler
4fleet.net
Bilparkstyring
4myevents.net
Arrangementer
4therapy.net
Terapi
4clinics.net
Klinikker
4dental.net
Tannklinikker
4restaurants.net
Restauranter
4beautify.net
Skjønnhetssalong
4gym.net
Treningssentre
4guards.net
Vaktselskaper
4softvet.net
Dyreklinikker
4softauto.net
Programvare for bilbransjen
4construct.net
Byggefirmaer
4marketplace.net
Markedsplass
4shopy.net
Nettbutikk
4pricing.net
Prissammenligning
4salefood.net
Matlevering
4rentify.net
Utleie
4transports.net
Transport
4agencytravel.net
Reisebyrå
4hotel.net
Hotellsystem
4ong.net
Foreningsstyring