Tehnologije

← Početna
Analitika i podaci

ClickHouse — mehanizam za analitiku u stvarnom vremenu u stogu platforme

Stog 4buildsitea uključuje ClickHouse — stupčanu bazu podataka izgrađenu posebno za analizu velikih volumena. Na njoj gradimo modul statistike prometa i prodaje platforme (u razvoju): podaci ostaju vaši, izvješća se pojavljuju, a prikupljanje je odvojeno od isporuke web-stranice — tako je projektirana arhitektura.

Što je ClickHouse i zašto ga koristimo

ClickHouse je stupčana baza podataka tipa OLAP (online analiza), stvorena u Yandexu za Yandex.Metricu — jedan od najvećih sustava za web-analitiku na svijetu — i objavljena kao open-source 2016. pod licencom Apache 2.0. Izgrađena je za jednu stvar, koju radi izvanredno: brze agregacije nad golemim količinama podataka. U arhitekturi 4buildsitea ClickHouse je mehanizam odabran za sloj statistike: svaki posjet, klik i narudžba postaju događaj koji se može odmah analizirati.

Tajna je pohrana po stupcima: umjesto da čita svaki „redak“ u cijelosti, ClickHouse čita samo stupce koji su potrebni izvješću i obrađuje ih vektorizirano, u velikim blokovima. Zato pitanje poput „koliko smo posjetitelja imali jučer, po svakoj stranici, iz svakog izvora“ dobiva odgovor čak i nad milijunima događaja — nešto što klasična, retčana baza podataka rješava mnogo teže.

Nije riječ o nišnoj tehnologiji: Cloudflare je koristi za analizu HTTP prometa u globalnom opsegu, a Uber, eBay i Spotify koriste je za analitiku i obradu logova u golemim količinama. Na 4buildsiteu isti mehanizam dio je stoga platforme — bez potrebe da zaposlite tim inženjera podataka.

Statistika u stvarnom vremenu — kako je modul projektiran

Modul statistike platforme je u razvoju, a njegova je arhitektura jednostavna: događaji prometa prikupljaju se asinkrono i zapisuju u ClickHouse, potpuno odvojeno od poslužitelja koji isporučuju stranice. Izvješća se izvršavaju na zasebnom sustavu. Nema teške skripte za praćenje trećih strana — prikupljanje je minimalno i first-party.

Izvješća na panel.4buildsite.net izračunavat će se izravno u ClickHouseu: promet po stranicama, izvori posjetitelja, konverzije, prodaja po proizvodu. Česte agregacije unaprijed se izračunavaju putem materialized viewova pri svakom zapisu, a nadzorna ploča ne pokreće težak izračun svaki put kada je pogledate.

  • Promet uživo: posjeti, stranice, izvori i uređaji — upitljivi nakon prikupljanja
  • Prodaja po proizvodu, narudžbe i konverzije za vašu web-trgovinu, agregirani u izvješćima
  • Povijest po mjesecima i godinama uz nizak trošak — stupčana kompresija višestruko smanjuje pohranu u odnosu na sirove podatke
  • Prikupljanje je asinkrono, izvješćivanje radi na drugom sustavu

PostgreSQL + ClickHouse: zašto koristimo oba

Stog platforme kombinira dvije baze podataka jer rade bitno različite stvari. PostgreSQL je knjiga transakcija (OLTP): narudžbe, plaćanja, zaliha, korisnički računi — operacije koje moraju biti savršeno točne jedna po jedna, uz transakcijska jamstva. ClickHouse je analitička dvorana (OLAP): milijuni događaja čitaju se odjednom kako bi odgovorili na pitanja o prometu i prodaji.

Kad bi se teška izvješća izvršavala na istoj bazi podataka koja obrađuje narudžbe, svako bi izvješće natjecalo za resurse s kupcima koji u tom trenutku plaćaju. Odvajanje OLTP/OLAP uklanja taj sukob: narudžba kupca ne čeka na vaše izvješće, a vaše izvješće ne čeka na tuđe narudžbe. Svaki mehanizam radi upravo ono za što je izgrađen.

  • PostgreSQL: narudžbe, Stripe plaćanja, zaliha, kupci — transakcijska ispravnost
  • ClickHouse: događaji prometa, izvješća, statistika — agregacija u velikom opsegu
  • Dizajn predviđa da relevantni transakcijski podaci stižu u ClickHouse kao događaji, pa izvješća o prodaji nikada ne diraju bazu koja poslužuje web-trgovinu

Vlastiti analytics, prijateljski prema privatnosti — umjesto Google Analyticsa

Načelo modula statistike: podaci vaše web-stranice ostaju na infrastrukturi platforme. Ne šalju se Googleu ni drugim oglašivačkim mrežama, ne prodaju se i ne kombiniraju s vanjskim profilima korisnika. To je analytics first-party u pravom smislu: podaci o vašim posjetiteljima su vaši.

Budući da pristup ne koristi kolačiće trećih strana za praćenje, usklađenost s GDPR-om postaje mnogo jednostavnija. Kontekst je važan: 2022. tijela za zaštitu podataka u Austriji, Francuskoj i Italiji proglasila su korištenje Google Analyticsa neusklađenim s GDPR-om zbog prijenosa podataka u SAD. S vlastitim analyticsom, smještenim u Europi, ta kategorija rizika nestaje od samog početka.

Postoji i izravna praktična korist: izvješća izračunata u ClickHouseu nisu uzorkovana, za razliku od standardnih izvješća u besplatnim alatima za analytics. Potpuni brojevi.

Izvješća web-trgovine i marketplacea — što će modul isporučiti

Za web-trgovinu ClickHouse će značiti odgovore na pitanja koja su važna: koji se proizvodi prodaju, iz kojih izvora dolaze kupci koji kupuju, gdje se napuštaju košarice. Za marketplace s više prodavača iste će se agregacije izvršavati nad svim narudžbama: volumen po prodavaču, provizije, najprodavaniji proizvodi po kategoriji — bez ručnih exporta i bez proračunskih tablica.

I u velikom opsegu stvari ostaju jeftine. Stupčana kompresija višestruko smanjuje podatke u odnosu na sirovi format, pa povijest čuvate godinama uz nizak trošak pohrane. A kada promet naraste s tisuća na milijune događaja, mehanizam je od početka projektiran za milijarde redaka, a ne naknadno prilagođen.

Prednosti i ograničenja

Prednosti

  • Agregacije nad milijunima događaja.
  • Analytics radi na sustavu odvojenom od onoga koji poslužuje stranice.
  • Podaci o prometu ostaju vaši, na infrastrukturi platforme — bez prijenosa Googleu ili oglašivačkim mrežama.
  • Bez kolačića trećih strana za praćenje — jednostavnija usklađenost s GDPR-om.
  • Snažna stupčana kompresija — povijest od više godina uz nizak trošak pohrane.
  • Open-source (Apache 2.0), bez licenci po volumenu — trošak ne eksplodira kada promet raste.

Ograničenja

  • Nije transakcijska baza podataka — izmjena ili brisanje pojedinačnih redaka je teška operacija; zato narudžbe i plaćanja ostaju u PostgreSQL-u.
  • Optimiziran za zapisivanje u velikim paketima; mnogo malih i čestih umetanja traži batching — platforma to rješava, ali to je stvarno ograničenje mehanizma.
  • Složeni JOIN-ovi manje su fleksibilni nego u PostgreSQL-u — shema događaja mora se od početka projektirati za analizu.
  • Dohvat jednog retka (point lookup) sporiji je nego u indeksiranoj OLTP bazi — ne zamjenjuje glavnu bazu web-trgovine.

Kratak zaključak

ClickHouse je ispravan izbor za analitiku u velikom opsegu: statistika prometa i prodaje u stvarnom vremenu, s vašim podacima. Za narudžbe, plaćanja i zalihu ostaje PostgreSQL — zato stog 4buildsitea kombinira oba, svaki u onome u čemu je najbolji. Modul statistike izgrađen na ClickHouseu je u razvoju.

Tablica specifikacija

MogućnostGranica / pragTipična uporaba
Analitičke agregacijeIspod sekunde nad milijunima događaja (stupčano + vektorizirano)Sporo kod dohvata jednog retka — nije za OLTP lookupoveIzvješća o prometu i prodaji (modul statistike, u razvoju)
Unos događajaVeliki volumeni, zapisivani u paketimaMala i česta umetanja traže batching / async insertPrikupljanje pageviewova, klikova, narudžbi
Pohrana i kompresijaStupčana kompresija (LZ4/ZSTD), višestruko ispod sirovog volumenaVrlo nasumični podaci slabije se komprimirajuPovijest događaja po mjesecima i godinama, uz nizak trošak
Ažuriranja i brisanjaAsinkrone mutations za povremene ispravkeNeprikladno za česte UPDATE-ove na pojedinačnim recimaGDPR brisanja (podaci korisnika, na zahtjev)
Materialized viewsUnaprijed izračunati agregati pri svakom zapisuAgregati se moraju definirati unaprijed, po izvješćuNadzorne ploče: prodaja po danu, proizvodu, izvoru
Stvarno vrijemeDogađaji postaju upitljivi nakon što se dogodeNije streaming sustav na razini milisekundeStatistika prometa i konverzija uživo

ClickHouse u odnosu na PostgreSQL i Google Analytics / BigQuery — za analitiku

KriterijClickHouse (4buildsite)PostgreSQL (za analitiku)Google Analytics / BigQuery
Brzina agregacija u velikom opseguIspod sekunde nad milijunima redakaVidljivo pada nad desecima milijuna redaka (retčana pohrana)BigQuery brz; GA4 ima standardna unaprijed agregirana izvješća, bez slobodnih upita
Vlasništvo nad podacima / GDPRVaši podaci, na infrastrukturi platforme, u EuropiVaši podaci, na vašim poslužiteljimaPodaci kod Googlea; prijenose GA-a u SAD tijela EU-a 2022. proglasila neusklađenima s GDPR-om
Kolačići i privolaBez kolačića trećih strana za praćenjeOvisi o vlastitoj implementacijiTraži banner za privolu za praćenje
Stvarno vrijemePodaci upitljivi nakon prikupljanjaMoguće, ali teška izvješća opterećuju transakcijsku bazuStandardna GA4 izvješća mogu se pojaviti sa zakašnjenjem od nekoliko sati; BigQuery streaming se dodatno naplaćuje
Trošak u velikom opseguOpen-source — trošak je samo infrastruktura, uključena u pretplatuRaste s indeksima, vacuumom i hardverom pri velikim volumenimaBigQuery naplaćuje po upitanom volumenu; enterprise varijanta GA-a je skupa
Utjecaj na brzinu web-straniceAsinkrono prikupljanje, izvješćivanje na odvojenom sustavuIzvješća se mogu natjecati 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 web-stranicu ili web-trgovinu?

Ne. ClickHouse radi na sustavu odvojenom od onoga koji poslužuje stranice — tako je projektirana arhitektura. Događaji prometa šalju se asinkrono, a izvješća nikada ne diraju bazu podataka web-trgovine.

Zašto jednostavno ne koristite Google Analytics?

Tri razloga. Podaci ostaju vaši, na infrastrukturi platforme, a ne kod Googlea. Ne trebaju vam kolačići trećih strana za praćenje, pa je usklađenost s GDPR-om jednostavnija — 2022. tijela iz Austrije, Francuske i Italije proglasila su GA neusklađenim s GDPR-om. I izvješća se pojavljuju potpuna, a ne uzorkovana.

Koja je razlika između ClickHousea i PostgreSQL-a — zašto oba?

PostgreSQL je transakcijska baza (OLTP): obrađuje narudžbe, plaćanja i zalihu, jednu po jednu, uz jamstva ispravnosti. ClickHouse je analitička baza (OLAP): čita milijune događaja odjednom za izvješća. Odvajanje znači da teško izvješće ne ide na bazu narudžbi vaših kupaca.

Jesu li moji podaci o prometu sigurni i usklađeni s GDPR-om?

Da — po dizajnu. Statistika je first-party: nalazi se na infrastrukturi platforme, u Europi, ne prodaje se i ne dijeli s oglašivačkim mrežama. Pristup ne koristi kolačiće trećih strana za praćenje, a podaci korisnika mogu se na zahtjev izbrisati, u skladu s GDPR-om.

Koliko je statistika „u stvarnom vremenu“?

Događaj — posjet, klik, narudžba — postaje vidljiv u izvješćima nakon što se dogodi. Agregacije nad dugim razdobljima (mjeseci, godine) također odgovaraju, jer je ClickHouse izgrađen upravo za tu vrstu upita.

Moram li nešto konfigurirati da bih imao statistiku na svojoj web-stranici?

Neće biti potrebno. Modul statistike je u razvoju i izgrađen je kao dio platforme: kada postane aktivan u administracijskoj ploči, prikupljanje se automatski pokreće za objavljene web-stranice — bez skripti za instalaciju i bez vanjskih računa.

4b2b.net
Poslovni ekosustav
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturiranje
4expenses.net
Upravljanje troškovima
4notify.net
Obavijesti
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada web-stranica
4myapp.net
Izrada 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 sustav
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Upravitelj projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Rezervacije
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
Salon ljepote
4gym.net
Teretane
4guards.net
Zaštitarske tvrtke
4softvet.net
Veterinarske ambulante
4softauto.net
Softver za auto-poslovanje
4construct.net
Građevinske firme
4marketplace.net
Tržnica
4shopy.net
Internetska trgovina
4pricing.net
Usporedba cijena
4salefood.net
Dostava hrane
4rentify.net
Najam
4transports.net
Transport
4agencytravel.net
Putnička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO