ClickHouse — analitički mehanizam u realnom vremenu u stek-u platforme

← Početna
Analitika i podaci

ClickHouse — analitički mehanizam u realnom vremenu u stek-u platforme

Stack platforme 4buildsite uključuje ClickHouse — kolonsku bazu podataka napravljenu posebno za analitiku velikog obima. Na njoj gradimo modul statistike saobraćaja i prodaje platforme (u razvoju): podaci ostaju vaši, izvještaji se pojavljuju, a sajt je od njih odvojen — tako je osmišljena arhitektura.

Šta je ClickHouse i zašto ga koristimo

ClickHouse je kolonska OLAP (online analitička) baza podataka, nastala u kompaniji Yandex za Yandex.Metrica — jedan od najvećih sistema za web analitiku na svijetu — a 2016. otvorena pod licencom Apache 2.0. Napravljena je za jednu stvar, koju radi izuzetno dobro: brze agregacije nad ogromnim količinama podataka. U arhitekturi 4buildsite, ClickHouse je engine izabran za sloj statistike: svaka posjeta, klik i narudžbina postaju događaj koji se može odmah analizirati.

Tajna je u kolonskom skladištenju: umjesto da čita svaki cio „red“, ClickHouse čita samo kolone koje su potrebne izvještaju i obrađuje ih u velikim, vektorizovanim blokovima. Zato se pitanje poput „koliko sam posjetilaca imao juče, 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 globalnom nivou, a Uber, eBay i Spotify za analitiku i obradu logova u ogromnim količinama. Na 4buildsite isti engine je dio stack-a platforme — bez potrebe da angažujete tim za inženjering podataka.

Statistika u realnom 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 izvršavaju odvojeno od isporuke stranica. Nema teške skripte treće strane — prikupljanje je minimalno i first-party.

Izvještaji u panel.4buildsite.net računaće se direktno u ClickHouse-u: saobraćaj po stranicama, izvori posjetilaca, konverzije, prodaja po proizvodu. Česte agregacije unaprijed se izračunavaju putem materijalizovanih prikaza 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 — dostupni za upite nakon prikupljanja
  • Prodaja po proizvodu, narudžbine i konverzije za vašu prodavnicu, agregirane u izvještajima
  • Mjeseci i godine istorije uz nizak trošak — kolonska kompresija višestruko smanjuje zauzeće u odnosu na sirove podatke
  • Odvojeno od sajta: prikupljanje je asinhrono, a izvještavanje radi na zasebnom sistemu

PostgreSQL + ClickHouse: zašto koristimo obje

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

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

  • PostgreSQL: narudžbine, Stripe plaćanja, zalihe, kupci — transakciona tačnost
  • ClickHouse: događaji saobraćaja, izvještaji, statistika — agregacija velikog obima
  • Dizajn replicira relevantne transakcione podatke u ClickHouse kao događaje, pa izvještaji o prodaji nikada ne diraju bazu koja opslužuje vašu prodavnicu

First-party analitika koja poštuje privatnost — umjesto Google Analyticsa

Princip modula statistike: podaci vašeg sajta ostaju na infrastrukturi platforme. Ne šalju se Googleu ni drugim reklamnim mrežama, ne prodaju se i ne spajaju sa spoljnim korisničkim profilima. To je first-party analitika u doslovnom smislu: podaci o vašim posjetiocima pripadaju vama.

Pošto pristup ne koristi kolačiće za praćenje trećih strana, usklađenost sa GDPR-om postaje mnogo jednostavnija. Kontekst je važan: 2022. organi za zaštitu podataka u Austriji, Francuskoj i Italiji proglasili su upotrebu Google Analyticsa neusklađenom sa GDPR-om zbog prenosa podataka u SAD. Uz first-party analitiku hostovanu u Evropi, cijela ta kategorija rizika nestaje od samog početka.

Postoji i direktna praktična korist: izvještaji izračunati u ClickHouse-u nisu uzorkovani, za razliku od standardnih izvještaja u besplatnim analitičkim alatima. Potpuni podaci.

Izvještaji za prodavnicu i marketplace — šta će modul pružiti

Za online prodavnicu, ClickHouse će značiti odgovore na pitanja koja su važna: koji se proizvodi prodaju, koji izvori dovode kupce koji zaista kupuju, gdje se korpe napuštaju. Za marketplace sa više prodavaca, iste agregacije radiće nad svim narudžbinama: obim po prodavcu, provizije, najprodavaniji proizvodi po kategoriji — bez ručnih izvoza i bez tabela.

A u velikom obimu stvari ostaju jeftine. Kolonska kompresija višestruko smanjuje podatke u odnosu na sirovi format, pa godinama čuvate istoriju uz nizak trošak skladištenja. Kad saobraćaj poraste sa hiljada na milione događaja, engine je od početka projektovan za milijarde redova, a ne naknadno prilagođavan.

Prednosti i mane

Prednosti

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

Ograničenja

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

Kratak zaključak

ClickHouse je pravi izbor za analitiku velikog obima: statistika saobraćaja i prodaje u realnom vremenu, sa vašim sopstvenim podacima. Za narudžbine, plaćanja i zalihe ostaje PostgreSQL — zato stack 4buildsite kombinuje obje, svaku u onome u čemu je najbolja. Modul statistike izgrađen na ClickHouse-u je u razvoju.

Tabela specifikacija

MogućnostOgraničenje / pragTipična upotreba
Analitičke agregacijeIspod sekunde nad milionima događaja (kolonski + vektorizovano)Sporo kod pretrage pojedinačnih redova — nije za OLTP point čitanjaIzvještaji o saobraćaju i prodaji (modul statistike, u razvoju)
Prijem događajaVeliki obimi, upisuju se u grupamaČesti sitni upisi zahtijevaju grupisanje / async insertPrikupljanje pregleda stranica, klikova, narudžbina
Skladištenje i kompresijaKolonska kompresija (LZ4/ZSTD), višestruko ispod sirovog obimaIzrazito nasumični podaci se slabije kompresujuMjeseci i godine istorije događaja, uz nizak trošak
Ažuriranja i brisanjaAsinhrone mutacije za povremene ispravkeNeprikladno za česte pojedinačne UPDATE-oveGDPR brisanja (podaci jednog korisnika, na zahtjev)
Materijalizovani prikaziAgregati se unaprijed izračunavaju pri svakom upisuAgregati se moraju unaprijed definisati, po izvještajuTrenutne kontrolne table: prodaja po danu, proizvodu, izvoru
Realno vrijemeDogađaji su dostupni za upite nakon što se deseNije streaming sistem na nivou milisekundiStatistika saobraćaja i konverzija uživo

ClickHouse vs PostgreSQL vs Google Analytics / BigQuery — za analitiku

KriterijumClickHouse (4buildsite)PostgreSQL (za analitiku)Google Analytics / BigQuery
Brzina agregacije u velikom obimuIspod sekunde nad milionima redovaVidljivo se pogoršava nad desetinama miliona redova (redno skladištenje)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; prenose GA-a u SAD organi EU 2022. ocijenili su neusklađenim sa GDPR-om
Kolačići i saglasnostBez kolačića za praćenje trećih stranaZavisi od vaše sopstvene implementacijeZahtijeva baner za saglasnost za praćenje
Realno vrijemePodaci dostupni za upite nakon prikupljanjaMoguće, ali teški izvještaji opterećuju transakcionu bazuStandardni izvještaji GA4 mogu kasniti satima; BigQuery streaming se dodatno naplaćuje
Trošak u velikom obimuOpen-source — trošak je samo infrastruktura, uključena u pretplatuRaste sa indeksima, vacuum-om i hardverom pri velikim obimimaBigQuery naplaćuje po obimu upita; enterprise nivo GA-a je skup
Uticaj na brzinu sajtaNula — asinhrono prikupljanje, izvještavanje na zasebnom sistemuIzvještaji se mogu takmičiti sa narudžbinama na istoj baziSkripta treće strane (gtag.js) na stranici — dodatni JavaScript i spoljni zahtjevi

Česta pitanja

Da li ClickHouse usporava moj sajt ili prodavnicu?

Ne. ClickHouse radi na sistemu odvojenom od onog koji isporučuje vaše stranice — tako je osmišljena arhitektura. Događaji saobraćaja šalju se asinhrono, a izvještaji nikada ne diraju bazu prodavnice. Analitika je odvojena od isporuke sajta.

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 sa GDPR-om jednostavnija — 2022. su organi u Austriji, Francuskoj i Italiji ocijenili GA neusklađenim sa GDPR-om. A izvještaji se pojavljuju kompletni, bez uzorkovanja.

Koja je razlika između ClickHouse-a i PostgreSQL-a — zašto obje?

PostgreSQL je transakciona (OLTP) baza: obrađuje narudžbine, plaćanja i zalihe jednu po jednu, uz garancije tačnosti. ClickHouse je analitička (OLAP) baza: čita milione događaja odjednom za izvještaje. Zahvaljujući toj podjeli, težak izvještaj ne dira narudžbine vaših kupaca.

Da li su moji podaci o saobraćaju sigurni i usklađeni sa GDPR-om?

Da — po dizajnu. Statistika je first-party: živi na infrastrukturi platforme, u Evropi, i nikada se ne prodaje niti dijeli sa 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 sa GDPR-om.

Koliko je statistika zaista „u realnom vremenu“?

Događaj — posjeta, klik, narudžbina — postaje vidljiv u izvještajima nakon što se desi. Agregacije za duge periode (mjesece, godine) i dalje odgovaraju, jer je ClickHouse napravljen upravo za tu vrstu upita.

Moram li nešto podesiti da bih dobio statistiku na svom sajtu?

Nećete morati. Modul statistike je u razvoju i izgrađen je kao dio platforme: kad bude pušten u administratorski panel, prikupljanje počinje automatski za objavljene sajtove — bez skripti za instalaciju i bez spoljnih naloga.

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 sajtova
4myapp.net
Kreator aplikacija
4avatars.net
AI avatari
4chaty.net
AI čatbot
4webagency.net
Softver za web agencije
4softedu.net
Web sajtovi za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sistem
4softhr.net
Upravljanje ljudskim resursima
4mystaff.net
Portal za zaposlene
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
Fitnes 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 prodavnica
4pricing.net
Poređenje cijena
4salefood.net
Dostava hrane
4rentify.net
Iznajmljivanje
4transports.net
Prevoz
4agencytravel.net
Turistička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO-ima