Tehnologije

← Početna
Analitika i podaci

ClickHouse — mašina za analitiku u realnom vremenu u steku platforme

Stek 4buildsite-a uključuje ClickHouse — kolonsku bazu podataka napravljenu posebno za analizu velikih količina podataka. Na njoj gradimo modul statistike saobraćaja i prodaje platforme (u razvoju): podaci ostaju vaši, a izveštaji se računaju odvojeno od obrade porudžbina — tako je projektovana arhitektura.

Šta je ClickHouse i zašto ga koristimo

ClickHouse je kolonska baza podataka OLAP tipa (online analitička obrada), nastala u Yandex-u za Yandex.Metrica — jedan od najvećih sistema za veb analitiku na svetu — i objavljena kao open-source 2016. godine pod licencom Apache 2.0. Napravljena je za jednu stvar koju radi izuzetno: brze agregacije nad ogromnim količinama podataka. U arhitekturi 4buildsite-a ClickHouse je izabrani motor za sloj statistike: svaka poseta, klik i porudžbina postaje događaj koji se može analizirati.

Tajna je u skladištenju po kolonama: umesto da čita svaki „red“ u celini, ClickHouse čita samo kolone koje su izveštaju potrebne i obrađuje ih vektorizovano, u velikim blokovima. Zato pitanje poput „koliko smo posetilaca imali juče, po svakoj stranici, iz svakog izvora“ može da se izvrši nad velikim količinama događaja — nešto što klasična baza orijentisana na redove rešava mnogo teže.

Nije u pitanju nišna tehnologija: 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-u isti motor je deo steka platforme — bez potrebe da angažujete tim inženjera podataka.

Statistika u realnom vremenu — kako je modul projektovan

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 stranice. Posetioci ne čekaju na analitiku: prikupljanje događaja je odvojeno od isporuke stranice. Prikupljanje je first-party, bez skripti trećih strana.

Izveštaji u panel.4buildsite.net izračunavaće se direktno u ClickHouse-u: saobraćaj po stranicama, izvori posetilaca, konverzije, prodaja po proizvodu. Česte agregacije unapred se računaju pomoću materialized views pri svakom upisu, pa kontrolna tabla ne pokreće težak proračun svaki put kada je pogledate.

  • Saobraćaj: posete, stranice, izvori i uređaji — mogu se upitati posle prikupljanja
  • Prodaja po proizvodu, porudžbine i konverzije za vašu prodavnicu, agregirane nad velikim količinama događaja
  • Istorija po mesecima i godinama uz mali trošak — kolonska kompresija višestruko smanjuje skladištenje u odnosu na sirove podatke
  • Prikupljanje je asinhrono, izveštavanje radi na drugom sistemu

PostgreSQL + ClickHouse: zašto koristimo obe

Stek platforme kombinuje dve baze podataka jer rade suštinski različite stvari. PostgreSQL je registar transakcija (OLTP): porudžbine, plaćanja, zalihe, korisnički nalozi — operacije koje moraju biti savršeno tačne jedna po jedna, uz transakcione garancije. ClickHouse je sala za analizu (OLAP): milioni događaja koji se čitaju odjednom da bi se odgovorilo na pitanja o saobraćaju i prodaji.

Kada bi se teški izveštaji izvršavali na istoj bazi koja obrađuje porudžbine, svaki izveštaj bi se takmičio sa kupcima koji u tom trenutku plaćaju. Razdvajanje OLTP/OLAP uklanja taj sukob: porudžbina kupca ne čeka na vaš izveštaj, a vaš izveštaj ne čeka na tuđe porudžbine. Svaki motor radi tačno ono za šta je napravljen.

  • PostgreSQL: porudžbine, Stripe plaćanja, zalihe, kupci — transakciona ispravnost
  • ClickHouse: događaji saobraćaja, izveštaji, statistika — agregacija pri velikom obimu
  • Dizajn predviđa da relevantni transakcioni podaci stižu u ClickHouse kao događaji, pa izveštaji o prodaji ne dotiču bazu koja služi prodavnici

Sopstvena analitika, privacy-friendly — umesto Google Analytics-a

Princip modula statistike: podaci vašeg sajta ostaju na infrastrukturi platforme. Ne šalju se Google-u ni drugim reklamnim mrežama, ne prodaju se i ne kombinuju sa spoljnim profilima korisnika. To je first-party analitika u pravom smislu: podaci o vašim posetiocima pripadaju vama.

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

Postoji i direktna praktična korist: izveštaji izračunati u ClickHouse-u nisu uzorkovani. Kompletni brojevi, bez uzorkovanja.

Izveštaji za prodavnicu i marketplace — šta će modul isporučiti

Za onlajn prodavnicu ClickHouse omogućava odgovore na pitanja koja su važna: koji se proizvodi prodaju, iz kojih izvora dolaze kupci koji kupuju, gde se korpe napuštaju. Za marketplace sa više prodavaca iste agregacije će se izvršavati nad svim porudžbinama: obim po prodavcu, provizije, najprodavaniji proizvodi po kategoriji — bez ručnih izvoza i bez tabela.

I pri velikom obimu stvari ostaju jeftine. Kolonska kompresija smanjuje podatke višestruko u odnosu na sirovi format, pa istoriju čuvate godinama uz mali trošak skladištenja. A kada saobraćaj poraste sa hiljada na milione događaja, agregacije ostaju upravljive — motor je od početka projektovan za velike količine podataka, a ne naknadno prilagođavan.

Prednosti i ograničenja

Prednosti

  • Agregacije nad velikim količinama događaja — kolonsko skladištenje i vektorizovana obrada.
  • Analitika radi na sistemu odvojenom od onog koji služi stranice.
  • Podaci o saobraćaju ostaju vaši, na infrastrukturi platforme — bez prenosa Google-u ili reklamnim mrežama.
  • Bez kolačića treće strane za praćenje — jednostavnija usklađenost sa GDPR-om.
  • Snažna kolonska kompresija — istorija od više godina uz mali trošak skladištenja.
  • Open-source (Apache 2.0), bez licenci po obimu — trošak ne eksplodira kada saobraćaj poraste.

Ograničenja

  • Nije transakciona baza podataka — izmena ili brisanje pojedinačnih redova je teška operacija; zato porudžbine i plaćanja stoje u PostgreSQL-u.
  • Optimizovan za upise u velikim paketima; mnogo malih i čestih insert-a traži batching — platforma to rešava, ali je to stvarno ograničenje motora.
  • Složeni JOIN-ovi su manje fleksibilni nego u PostgreSQL-u — šema događaja mora se od početka projektovati za analizu.
  • Pretraga jednog reda (point lookup) sporija je nego u indeksiranoj OLTP bazi — ne zamenjuje glavnu bazu prodavnice.

Kratak zaključak

ClickHouse je pravi izbor za analitiku pri velikom obimu: statistika saobraćaja i prodaje, sa vašim podacima, na sistemu odvojenom od stranica. Za porudžbine, plaćanja i zalihe ostaje PostgreSQL — zato ih stek 4buildsite-a kombinuje obe, 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 agregacijeKolonsko skladištenje i vektorizovana obrada nad velikim količinama događajaSporo pri pretrazi jednog reda — nije za OLTP lookup-eIzveštaji o saobraćaju i prodaji (modul statistike, u razvoju)
Unos događajaVeliki obimi, upisani u paketimaMali i česti insert-i traže batching / async insertPrikupljanje pageview-a, klikova, porudžbina
Skladištenje i kompresijaKolonska kompresija (LZ4/ZSTD), višestruko ispod sirovog obimaVeoma nasumični podaci se manje kompresujuIstorija događaja po mesecima i godinama, uz mali trošak
Ažuriranja i brisanjaAsinhrone mutations za povremene ispravkeNepogodno za česte UPDATE-ove pojedinačnih redovaGDPR brisanja (podaci korisnika, na zahtev)
Materialized viewsUnapred izračunati agregati pri svakom upisuAgregati se moraju unapred definisati, po izveštajuTrenutne kontrolne table: prodaja po danu, proizvodu, izvoru
Realno vremeDogađaji postaju dostupni za upite posle prikupljanjaNije streaming sistem na nivou milisekundeStatistika saobraćaja i konverzija uživo

ClickHouse naspram PostgreSQL-a naspram Google Analytics-a / BigQuery-ja — za analitiku

KriterijumClickHouse (4buildsite)PostgreSQL (za analitiku)Google Analytics / BigQuery
Agregacije pri velikom obimuKolonsko skladištenje nad velikim brojem redovaPrimetno usporava na desetinama miliona redova (skladištenje po redovima)BigQuery za velike skupove podataka; GA4 ima unapred agregirane standardne izveštaje, bez slobodnih upita
Vlasništvo nad podacima / GDPRVaši podaci, na infrastrukturi platforme, u EvropiVaši podaci, na vašim serverimaPodaci kod Google-a; prenose GA-a u SAD organi EU su 2022. proglasili neusklađenim sa GDPR-om
Kolačići i saglasnostBez kolačića treće strane za praćenjeZavisi od sopstvene implementacijeZahteva baner za saglasnost za praćenje
Realno vremePodaci dostupni za upite posle prikupljanjaMoguće, ali teški izveštaji opterećuju transakcionu bazuStandardni GA4 izveštaji mogu da se pojave sa zakašnjenjem od nekoliko sati; BigQuery streaming se dodatno naplaćuje
Trošak pri 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 upitanih podataka; enterprise varijanta GA-a je skupa
Uticaj na brzinu sajtaAsinhrono prikupljanje, izveštavanje na odvojenom sistemuIzveštaji mogu da se takmiče sa porudžbinama na istoj baziSkript treće strane (gtag.js) na stranici — dodatni JavaScript i spoljni zahtevi

Često postavljana pitanja

Da li ClickHouse usporava moj sajt ili prodavnicu?

Ne. ClickHouse radi na sistemu odvojenom od onog koji služi stranice — tako je projektovana arhitektura. Događaji saobraćaja šalju se asinhrono, a izveštaji ne dotiču bazu podataka prodavnice. Statistika ne menja način isporuke stranica.

Zašto jednostavno ne koristite Google Analytics?

Iz tri razloga. Podaci ostaju vaši, na infrastrukturi platforme, a ne kod Google-a. Ne trebaju vam kolačići treće strane za praćenje, pa je usklađenost sa GDPR-om jednostavnija — 2022. su organi iz Austrije, Francuske i Italije proglasili GA neusklađenim sa GDPR-om. I izveštaji su kompletni, a ne uzorkovani ili zakasneli satima.

Kakva je razlika između ClickHouse-a i PostgreSQL-a — zašto obe?

PostgreSQL je transakciona baza (OLTP): obrađuje porudžbine, plaćanja i zalihe, jednu po jednu, uz garancije ispravnosti. ClickHouse je analitička baza (OLAP): čita milione događaja odjednom za izveštaje. Razdvajanje znači da težak izveštaj ne utiče na porudžbine vaših kupaca.

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

Da — po dizajnu. Statistika je first-party: nalazi se na infrastrukturi platforme, u Evropi, ne prodaje se i ne deli sa reklamnim mrežama. Pristup ne koristi kolačiće treće strane za praćenje, a podaci jednog korisnika mogu se obrisati na zahtev, u skladu sa GDPR-om.

Koliko je statistika „u realnom vremenu“?

Događaj — poseta, klik, porudžbina — postaje vidljiv u izveštajima posle prikupljanja. Agregacije za duge periode (meseci, godine) takođe su pogodne, jer je ClickHouse napravljen upravo za ovu vrstu upita.

Da li moram nešto da podesim da bih imao statistiku na svom sajtu?

Neće biti potrebe. Modul statistike je u razvoju i gradi se kao deo platforme: kada postane aktivan u administratorskom panelu, prikupljanje se pokreće 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
Obaveštenja
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada sajtova
4myapp.net
Izrada aplikacija
4avatars.net
AI avatari
4chaty.net
AI čatbot
4webagency.net
Softver za veb agencije
4softedu.net
Sajtovi za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sistem
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Menadžer projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Zakazivanje
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 lepote
4gym.net
Teretane
4guards.net
Firme obezbeđenja
4softvet.net
Ветеринарске амбуланте
4softauto.net
Софтвер за ауто-бизнис
4construct.net
Građevinske firme
4marketplace.net
Marketplejs
4shopy.net
Onlajn prodavnica
4pricing.net
Poređenje cena
4salefood.net
Dostava hrane
4rentify.net
Iznajmljivanje
4transports.net
Transport
4agencytravel.net
Turistička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO