ClickHouse — analitički motor u realnom vremenu u stack-u platforme

← Početna
Analitika i podaci

ClickHouse — analitički motor u realnom vremenu u stack-u platforme

Stack platforme 4buildsite uključuje ClickHouse — kolonsku bazu podataka napravljenu posebno za analitiku velikih količina podataka. Na njoj gradimo modul statistike posjeta i prodaje (u razvoju): podaci ostaju vaši, izvještaji se pojavljuju, a stranica je od njih odvojena — tako je osmišljena arhitektura.

Šta je ClickHouse i zašto ga koristimo

ClickHouse je kolonska OLAP (online analitička) baza podataka, nastala u Yandexu za Yandex.Metricu — jedan od najvećih web-analitičkih sistema na svijetu — a 2016. objavljena kao open-source pod licencom Apache 2.0. Napravljena je za jednu stvar koju radi izuzetno dobro: brze agregacije nad ogromnim količinama podataka. U arhitekturi platforme 4buildsite, ClickHouse je motor odabran za sloj statistike: svaka posjeta, klik i narudžba postaju događaj koji se može odmah analizirati.

Tajna je kolonska pohrana: umjesto da čita svaki cijeli „red“, ClickHouse čita samo kolone koje izvještaj treba i obrađuje ih u velikim, vektorizovanim blokovima. Zato se pitanje poput „koliko sam posjetilaca imao jučer, po stranici i po izvoru“ odgovara čak i nad milionima događaja — nešto s čim se klasična redna baza muči.

Nije riječ o nišnoj tehnologiji: Cloudflare je koristi za analizu HTTP saobraćaja na globalnoj razini, a Uber, eBay i Spotify za analitiku i obradu logova pri ogromnim količinama. Na 4buildsite, isti motor je dio stacka platforme — bez potrebe da angažujete tim za inženjering podataka.

Statistika u stvarnom vremenu — kako je modul osmišljen

Modul statistike platforme je u razvoju, a njegova arhitektura je jednostavna: događaji saobraćaja prikupljaju se asinhrono i upisuju u ClickHouse, potpuno odvojeno od servera koji isporučuju vaše stranice. Izvještaji se računaju odvojeno od isporuke stranica. Nema teške skripte treće strane na stranici — prikupljanje je minimalno i first-party.

Izvještaji u panel.4buildsite.net računat će se direktno u ClickHouseu: saobraćaj po stranicama, izvori posjetilaca, konverzije, prodaja po proizvodu. Česte agregacije unaprijed se računaju putem materijalizovanih pogleda pri svakom upisu — kontrolna tabla ne pokreće težak proračun svaki put kad je pogledate.

  • Saobraćaj uživo: posjete, stranice, izvori i uređaji — mogu se upitati nakon prikupljanja
  • Prodaja po proizvodu, narudžbe i konverzije vaše trgovine, agregirane u izvještajima
  • Mjeseci i godine historije uz nisku cijenu — kolonska kompresija višestruko smanjuje pohranu u odnosu na sirove podatke
  • Odvojeno od stranice: prikupljanje je asinhrono, a izvještavanje radi na odvojenom sistemu

PostgreSQL + ClickHouse: zašto koristimo obje

Stack platforme kombinuje dvije baze podataka jer rade suštinski različite stvari. PostgreSQL je transakcijska knjiga (OLTP): narudžbe, plaćanja, zalihe, korisnički računi — operacije koje moraju biti savršeno tačne jedna po jedna, uz transakcijske garancije. ClickHouse je analitička soba (OLAP): milioni događaja čitaju se odjednom da odgovore na vaša pitanja o saobraćaju i prodaji.

Kad bi se teški izvještaji izvršavali na istoj bazi koja obrađuje narudžbe, svaki izvještaj bi se takmičio s kupcima koji u tom trenutku plaćaju. Podjela OLTP/OLAP uklanja taj sukob: narudžba kupca nikad ne čeka vaš izvještaj, a vaš izvještaj nikad ne čeka tuđe narudžbe. Svaki motor radi tačno ono za šta je napravljen.

  • PostgreSQL: narudžbe, Stripe plaćanja, zalihe, kupci — transakcijska ispravnost
  • ClickHouse: događaji saobraćaja, izvještaji, statistika — agregacija pri velikim količinama
  • Dizajn replicira relevantne transakcijske podatke u ClickHouse kao događaje, pa izvještaji o prodaji nikad ne dotiču bazu koja služi vašu trgovinu

First-party analitika prijateljska prema privatnosti — umjesto Google Analyticsa

Princip modula statistike: podaci vaše stranice ostaju na infrastrukturi platforme. Ne šalju se Googleu ni reklamnim mrežama, ne prodaju se i ne spajaju s vanjskim korisničkim profilima. To je first-party analitika u doslovnom smislu: podaci o vašim posjetiocima su vaši.

Budući da pristup ne koristi kolačiće za praćenje trećih strana, usklađenost s GDPR-om postaje mnogo jednostavnija. Kontekst je važan: 2022. su tijela za zaštitu podataka u Austriji, Francuskoj i Italiji proglasila upotrebu Google Analyticsa neusklađenom s GDPR-om zbog prijenosa podataka u SAD. S first-party analitikom hostovanom u Evropi, cijela ta kategorija rizika nestaje od početka.

Postoji i direktna praktična korist: izvještaji računati u ClickHouseu nisu uzorkovani, za razliku od standardnih izvještaja u besplatnim analitičkim alatima. Kompletni brojevi.

Izvještaji trgovine i marketplacea — šta će modul isporučiti

Za online trgovinu, ClickHouse će značiti odgovore na pitanja koja su bitna: koji se proizvodi prodaju, koji izvori donose kupce koji zaista kupuju, gdje se korpe napuštaju. Za marketplace s više prodavača, iste agregacije će se izvršavati nad svim narudžbama: obim po prodavaču, provizije, najprodavaniji proizvodi po kategoriji — bez ručnih izvoza i tabela.

A pri velikom obimu stvari ostaju jeftine. Kolonska kompresija smanjuje podatke višestruko u odnosu na sirovi format, pa godinama čuvate historiju uz nisku cijenu pohrane. Kad saobraćaj naraste s hiljada na milione događaja, motor je od početka projektovan za milijarde redova, a ne naknadno prilagođavan.

Prednosti i nedostaci

Prednosti

  • Agregacije nad milionima događaja.
  • Analitika radi na sistemu odvojenom od onog koji služi stranice.
  • Vaši podaci o saobraćaju ostaju vaši, na infrastrukturi platforme — bez prijenosa Googleu ili reklamnim mrežama.
  • Bez kolačića za praćenje trećih strana — jednostavnija usklađenost s GDPR-om.
  • Snažna kolonska kompresija — godine historije uz nisku cijenu pohrane.
  • Open-source (Apache 2.0), bez licenci po obimu — trošak ne eksplodira kako saobraćaj raste.

Ograničenja

  • Nije transakcijska baza — ažuriranje ili brisanje pojedinačnih redova je zahtjevna operacija; zato narudžbe i plaćanja žive u PostgreSQLu.
  • Optimizovan za velike grupne upise; mnogo malih čestih umetanja zahtijeva grupisanje — platforma to rješava, ali je to stvarno ograničenje motora.
  • Složeni JOIN-ovi su manje fleksibilni nego u PostgreSQLu — šema događaja mora se od početka projektovati za analitiku.
  • Dohvaćanje jednog reda (point lookup) sporije je nego u indeksiranoj OLTP bazi — ne zamjenjuje glavnu bazu trgovine.

Brzi zaključak

ClickHouse je pravi izbor za analitiku pri velikom obimu: statistika saobraćaja i prodaje u stvarnom vremenu, s vlastitim podacima. Za narudžbe, plaćanja i zalihe ostaje PostgreSQL — zato stack 4buildsite kombinuje obje baze, svaku u onome što radi najbolje. Modul statistike izgrađen na ClickHouseu je u razvoju.

Tabela specifikacija

MogućnostGranica / pragTipična upotreba
Analitičke agregacijeIspod sekunde nad milionima događaja (kolonski + vektorizovano)Sporo kod pretrage pojedinačnog reda — nije za OLTP point čitanjaIzvještaji o saobraćaju i prodaji (modul statistike, u razvoju)
Unos događajaVeliki obimi, upisani u grupamaMala česta umetanja zahtijevaju grupisanje / async insertPrikupljanje pregleda stranica, klikova, narudžbi
Pohrana i kompresijaKolonska kompresija (LZ4/ZSTD), višestruko ispod sirovog obimaIzrazito nasumični podaci se slabije kompresujuMjeseci i godine historije događaja, uz nisku cijenu
Ažuriranja i brisanjaAsinhrone mutacije za povremene ispravkeNeprikladno za česte UPDATE-ove pojedinačnih redovaGDPR brisanja (podaci jednog korisnika, na zahtjev)
Materijalizovani poglediAgregati se unaprijed računaju pri svakom upisuAgregati se moraju unaprijed definisati, po izvještajuTrenutne kontrolne table: prodaja po danu, proizvodu, izvoru
Stvarno vrijemeDogađaji postaju upitljivi nakon što se dogodeNije streaming sistem na nivou milisekundiStatistika saobraćaja i konverzija uživo

ClickHouse naspram PostgreSQLa naspram Google Analytics / BigQuery — za analitiku

KriterijClickHouse (4buildsite)PostgreSQL (za analitiku)Google Analytics / BigQuery
Brzina agregacije pri velikom obimuIspod sekunde nad milionima redovaVidljivo se pogoršava nad desetinama miliona redova (redna pohrana)BigQuery je brz; GA4 ima unaprijed agregirane standardne izvještaje, bez slobodnih upita
Vlasništvo nad podacima / GDPRVaši podaci, na infrastrukturi platforme, u EvropiVaši podaci, na vašim serverimaPodaci kod Googlea; prijenose GA-a u SAD evropska tijela proglasila su neusklađenim s GDPR-om 2022.
Kolačići i saglasnostBez kolačića za praćenje trećih stranaZavisi od vaše vlastite implementacijeZahtijeva baner saglasnosti za praćenje
Stvarno vrijemePodaci upitljivi nakon prikupljanjaMoguće, ali teški izvještaji opterećuju transakcijsku bazuStandardni GA4 izvještaji mogu kasniti satima; BigQuery streaming se dodatno naplaćuje
Trošak pri velikom obimuOpen-source — trošak je samo infrastruktura, uključena u pretplatuRaste s indeksima, vacuumom i hardverom pri velikim obimimaBigQuery naplaćuje po obimu upitanih podataka; GA enterprise nivo je skup
Uticaj na brzinu straniceNula — async prikupljanje, izvještavanje na odvojenom sistemuIzvještaji se mogu takmičiti s narudžbama na istoj baziSkripta treće strane (gtag.js) na stranici — dodatni JavaScript i vanjski zahtjevi

Često postavljana pitanja

Usporava li ClickHouse moju stranicu ili trgovinu?

Ne. ClickHouse radi na sistemu odvojenom od onog koji služi vaše stranice — tako je osmišljena arhitektura. Događaji saobraćaja šalju se asinhrono, a izvještaji nikad ne dotiču bazu trgovine. Analitika je odvojena od isporuke stranice.

Zašto jednostavno ne koristiti Google Analytics?

Iz tri razloga. Podaci ostaju vaši, na infrastrukturi platforme, a ne kod Googlea. Ne trebaju vam kolačići za praćenje trećih strana, pa je usklađenost s GDPR-om jednostavnija — 2022. su tijela u Austriji, Francuskoj i Italiji proglasila GA neusklađenim s GDPR-om. I izvještaji se pojavljuju kompletni, bez uzorkovanja.

Koja je razlika između ClickHousea i PostgreSQLa — zašto obje?

PostgreSQL je transakcijska (OLTP) baza: obrađuje narudžbe, plaćanja i zalihe jedno po jedno, uz garancije ispravnosti. ClickHouse je analitička (OLAP) baza: čita milione događaja odjednom za izvještaje. Podjela znači da težak izvještaj ne dira narudžbe vaših kupaca.

Jesu li moji podaci o saobraćaju sigurni i usklađeni s GDPR-om?

Da — po dizajnu. Statistika je first-party: živi na infrastrukturi platforme, u Evropi, i nikad se ne prodaje niti dijeli s reklamnim mrežama. Pristup ne koristi kolačiće za praćenje trećih strana, a podaci korisnika mogu se obrisati na zahtjev, u skladu s GDPR-om.

Koliko je statistika zaista „u stvarnom vremenu“?

Događaj — posjeta, klik, narudžba — postaje vidljiv u izvještajima nakon što se dogodi. Agregacije kroz duge periode (mjesece, godine) i dalje se izvršavaju, jer je ClickHouse napravljen upravo za ovu vrstu upita.

Moram li nešto podešavati da bih dobio statistiku na svojoj stranici?

Nećete morati. Modul statistike je u razvoju i izgrađen kao dio platforme: kad bude dostupan u administratorskom panelu, prikupljanje će automatski početi za objavljene stranice — bez skripti za instalaciju i bez vanjskih računa.

4b2b.net
Poslovni ekosistem
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturisanje
4expenses.net
Upravljanje troškovima
4notify.net
Obavještenja
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Kreator web stranica
4myapp.net
Kreator aplikacija
4avatars.net
AI avatari
4chaty.net
AI chatbot
4webagency.net
Softver za web agencije
4softedu.net
Web stranice za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sistem
4softhr.net
Upravljanje ljudskim resursima
4mystaff.net
Portal za osoblje
4myprojects.net
Menadžer projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Zakazivanja
4marketingonline.net
Marketing
4insurance.net
Osiguranje
4property.net
Nekretnine
4lawyers.net
Pravni softver
4mygarage.net
Autoservis
4driving.net
Autoškole
4fleet.net
Upravljanje voznim parkom
4myevents.net
Događaji
4therapy.net
Terapija
4clinics.net
Klinike
4dental.net
Stomatološke ordinacije
4restaurants.net
Restorani
4beautify.net
Saloni ljepote
4gym.net
Fitness centri
4guards.net
Zaštitarske firme
4softvet.net
Veterinarske ambulante
4softauto.net
Softver za auto-biznis
4construct.net
Građevinske firme
4marketplace.net
Marketplace
4shopy.net
Online trgovina
4pricing.net
Poređenje cijena
4salefood.net
Dostava hrane
4rentify.net
Iznajmljivanje
4transports.net
Prijevoz
4agencytravel.net
Turistička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO-ima