Teknologjitë

← Ballina
Analitikë & të dhëna

ClickHouse — motori i analitikës në kohë reale i stack-ut të platformës

Stack-u i 4buildsite përfshin ClickHouse — një bazë të dhënash kolonare e ndërtuar posaçërisht për analizë në volum të lartë. Mbi të ndërtojmë modulin e statistikave të trafikut dhe shitjeve të platformës (në zhvillim): të dhënat mbeten të tuat, dhe arkitektura është projektuar që moduli të mos ndikojë te faqja jote.

Çfarë është ClickHouse dhe pse e përdorim

ClickHouse është një bazë të dhënash kolonare e tipit OLAP (analizë online), e krijuar te Yandex për Yandex.Metrica — një nga sistemet më të mëdha të analizës web në botë — dhe e publikuar open-source në 2016 nën licencën Apache 2.0. Është ndërtuar për një gjë të vetme, të cilën e bën në mënyrë të jashtëzakonshme: agregime të shpejta mbi vëllime shumë të mëdha të dhënash. Në arkitekturën e 4buildsite, ClickHouse është motori i zgjedhur për shtresën e statistikave: çdo vizitë, klikim dhe porosi bëhet një ngjarje që mund të analizohet.

Sekreti është ruajtja sipas kolonave: në vend që të lexojë çdo „rresht“ të plotë, ClickHouse lexon vetëm kolonat që i duhen raportit dhe i përpunon në mënyrë të vektorizuar, në blloqe të mëdha. Prandaj një pyetje si „sa vizitorë kam pasur dje, në çdo faqe, nga çdo burim“ merr përgjigje shpejt edhe mbi miliona ngjarje — diçka që një bazë klasike, e orientuar sipas rreshtave, e zgjidh shumë më vështirë.

Nuk është teknologji e nishës: Cloudflare e përdor për analizën e trafikut HTTP në shkallë globale, ndërsa Uber, eBay dhe Spotify e përdorin për analitikë dhe përpunim logjesh në vëllime të mëdha. Në 4buildsite, i njëjti motor është pjesë e stack-ut të platformës — pa u dashur të punësosh një ekip inxhinierësh të dhënash.

Statistika në kohë reale, e ndarë nga faqja — si është projektuar moduli

Moduli i statistikave të platformës është në zhvillim, dhe arkitektura e tij është e thjeshtë: ngjarjet e trafikut mblidhen në mënyrë asinkrone dhe shkruhen në ClickHouse, plotësisht të ndara nga serverët që shërbejnë faqet. Nuk ka skript të rëndë tracking nga palë të treta në faqe — mbledhja është minimale dhe first-party.

Raportet nga panel.4buildsite.net do të llogariten drejtpërdrejt në ClickHouse: trafik sipas faqeve, burime vizitorësh, konvertime, shitje sipas produktit. Agregimet e shpeshta parallogariten përmes materialized views në çdo shkrim, prandaj paneli lexon agregate të parallogaritura — nuk nis një llogaritje e rëndë sa herë që e shikon.

  • Trafik: vizita, faqe, burime dhe pajisje — të pyetshme pas mbledhjes
  • Shitje sipas produktit, porosi dhe konvertime për dyqanin tënd, të agreguara paraprakisht
  • Historik mujor e vjetor me kosto të ulët — kompresimi kolonar e zvogëlon ruajtjen disa herë krahasuar me të dhënat e papërpunuara
  • Mbledhja është asinkrone, raportimi ekzekutohet në një sistem tjetër

PostgreSQL + ClickHouse: pse i përdorim të dyja

Stack-u i platformës kombinon dy baza të dhënash sepse bëjnë gjëra thelbësisht të ndryshme. PostgreSQL është regjistri i transaksioneve (OLTP): porosi, pagesa, stok, llogari përdoruesish — operacione që duhet të jenë perfektisht të sakta një nga një, me garanci transaksionale. ClickHouse është salla e analizës (OLAP): miliona ngjarje të lexuara njëherësh për t'iu përgjigjur pyetjeve rreth trafikut dhe shitjeve.

Nëse raportet e rënda do të ekzekutoheshin në të njëjtën bazë që përpunon porositë, çdo raport do të konkurronte me klientët që po paguajnë në atë moment. Ndarja OLTP/OLAP e eliminon këtë konflikt: porosia e klientit nuk pret pas raportit tënd, dhe raporti yt nuk pret pas porosive të të tjerëve. Çdo motor bën pikërisht atë për të cilën është ndërtuar.

  • PostgreSQL: porosi, pagesa Stripe, stok, klientë — saktësi transaksionale
  • ClickHouse: ngjarje trafiku, raporte, statistika — agregim në volum
  • Dizajni parashikon që të dhënat transaksionale përkatëse të arrijnë në ClickHouse si ngjarje, prandaj raportet e shitjeve nuk e prekin kurrë bazën që shërben dyqanin

Analytics i vetë, privacy-friendly — në vend të Google Analytics

Parimi i modulit të statistikave: të dhënat e faqes tënde mbeten në infrastrukturën e platformës. Nuk dërgohen te Google ose rrjete të tjera reklamimi, nuk shiten dhe nuk kombinohen me profile të jashtme përdoruesish. Është analytics first-party në kuptimin e vërtetë: të dhënat për vizitorët e tu janë të tuat.

Meqë qasja nuk përdor cookies tracking nga palë të treta, përputhshmëria me GDPR bëhet shumë më e thjeshtë. Konteksti ka rëndësi: në 2022, autoritetet e mbrojtjes së të dhënave në Austri, Francë dhe Itali e shpallën përdorimin e Google Analytics jopërputhshëm me GDPR për shkak të transferimeve të të dhënave drejt SHBA-së. Me një analytics të vetin, të hostuar në Evropë, transferimi i të dhënave drejt SHBA-së nuk është pjesë e arkitekturës.

Ka edhe një përfitim praktik të drejtpërdrejtë: raportet e llogaritura në ClickHouse nuk janë të mostruara. Shifra të plota.

Raporte dyqani dhe marketplace-i — çfarë do të ofrojë moduli

Për një dyqan online, ClickHouse do të thotë përgjigje për pyetjet që kanë rëndësi: cilat produkte shiten, nga cilat burime vijnë klientët që blejnë, ku braktisen shportat. Për një marketplace multi-vendor, të njëjtat agregime do të ekzekutohen mbi të gjitha porositë: volum sipas shitësit, komisione, produktet kryesore sipas kategorisë — pa eksporte manuale dhe pa fletë llogaritjeje.

Edhe në shkallë të madhe, ruajtja mbetet e lirë. Kompresimi kolonar i zvogëlon të dhënat disa herë krahasuar me formatin e papërpunuar, prandaj ruan historik vitesh me kosto të vogël ruajtjeje. Dhe kur trafiku rritet nga mijëra në miliona ngjarje, motori është projektuar që nga fillimi për vëllime shumë të mëdha rreshtash, jo i përshtatur më vonë.

Avantazhe dhe kufizime

Avantazhe

  • Agregime mbi miliona ngjarje, me agregate të parallogaritura për raportet e shpeshta.
  • Analytics ekzekutohet në një sistem të ndarë nga ai që shërben faqet.
  • Të dhënat e trafikut mbeten të tuat, në infrastrukturën e platformës — pa transferim te Google ose rrjete reklamimi.
  • Pa cookies tracking nga palë të treta — përputhshmëri më e thjeshtë me GDPR.
  • Kompresim kolonar i fuqishëm — historik vitesh me kosto të ulët ruajtjeje.
  • Open-source (Apache 2.0), pa licenca sipas volumit — kostoja nuk shpërthen kur rritet trafiku.

Kufizime

  • Nuk është bazë të dhënash transaksionale — ndryshimi ose fshirja e rreshtave individualë është operacion i rëndë; prandaj porositë dhe pagesat qëndrojnë në PostgreSQL.
  • I optimizuar për shkrime në grupe të mëdha; shumë inserte të vogla e të shpeshta kërkojnë batching — platforma e menaxhon këtë, por është kufi real i motorit.
  • JOIN-et e ndërlikuara janë më pak fleksibël se në PostgreSQL — skema e ngjarjeve duhet projektuar për analizë që në fillim.
  • Kërkimi i një rreshti të vetëm (point lookup) është më i ngadaltë se në një bazë OLTP të indeksuar — nuk e zëvendëson bazën kryesore të dyqanit.

Verdikt i shkurtër

ClickHouse është zgjedhja e duhur për analitikë në volum: statistika trafiku dhe shitjesh në kohë reale, me të dhënat e tua. Për porosi, pagesa dhe stok mbetet PostgreSQL — prandaj stack-u i 4buildsite i kombinon të dyja, secilën aty ku është më e mira. Moduli i statistikave i ndërtuar mbi ClickHouse është në zhvillim.

Tabela e specifikimeve

AftësiaKufiri / praguPërdorimi tipik
Agregime analitikeAgregate mbi miliona ngjarje (kolonar + vektorizuar)I ngadaltë te kërkimi i një rreshti të vetëm — nuk është për lookups OLTPRaporte trafiku dhe shitjesh (moduli i statistikave, në zhvillim)
Ingestimi i ngjarjeveVëllime të mëdha, shkruar në grupeInsertet e vogla e të shpeshta kërkojnë batching / async insertMbledhje pageview-sh, klikimesh, porosish
Ruajtja & kompresimiKompresim kolonar (LZ4/ZSTD), disa herë nën vëllimin e papërpunuarTë dhënat shumë të rastësishme kompresohen më pakHistorik ngjarjesh mujor e vjetor, me kosto të ulët
Përditësime & fshirjeMutations asinkrone për korrigjime të rastësishmeI papërshtatshëm për UPDATE të shpeshta në rreshta individualëFshirje GDPR (të dhënat e një përdoruesi, me kërkesë)
Materialized viewsAgregate të parallogaritura në çdo shkrimAgregatet duhen përcaktuar paraprakisht, për çdo raportPanele me agregate të parallogaritura: shitje sipas ditës, produktit, burimit
Koha realeNgjarjet bëhen të pyetshme pak pas ndodhjesNuk është sistem streaming në nivel milisekondeStatistika e trafikut dhe konvertimeve

ClickHouse kundrejt PostgreSQL kundrejt Google Analytics / BigQuery — për analitikë

KriteriClickHouse (4buildsite)PostgreSQL (për analitikë)Google Analytics / BigQuery
Shpejtësia e agregimeve në volumAgregate mbi miliona rreshtaBie dukshëm mbi dhjetëra miliona rreshta (ruajtje sipas rreshtave)BigQuery i shpejtë; GA4 ka raporte standarde të parallogaritura, pa query të lira
Pronësia e të dhënave / GDPRTë dhënat e tua, në infrastrukturën e platformës, në EvropëTë dhënat e tua, në serverët e tuTë dhënat te Google; transferimet e GA drejt SHBA-së të shpallura jopërputhëse me GDPR nga autoritete të BE-së në 2022
Cookies & pëlqimiPa cookies tracking nga palë të tretaVaret nga implementimi i vetëKërkon banner pëlqimi për tracking
Koha realeTë dhëna të pyetshme pak pas ndodhjesE mundur, por raportet e rënda e ngarkojnë bazën transaksionaleRaportet standarde GA4 mund të shfaqen me vonesë orësh; streaming BigQuery kushton shtesë
Kostoja në volumOpen-source — kostoja është vetëm infrastruktura, e përfshirë në abonimRritet me indekse, vacuum dhe hardware në vëllime të mëdhaBigQuery tarifon sipas volumit të pyetur; varianti enterprise i GA është i kushtueshëm
Ndikimi në shpejtësinë e faqesMinimal — mbledhje asinkrone, raportim në sistem të ndarëRaportet mund të konkurrojnë me porositë në të njëjtën bazëSkript i palës së tretë (gtag.js) në faqe — JavaScript dhe kërkesa të jashtme shtesë

Pyetje të shpeshta

A ma ngadalëson ClickHouse faqen ose dyqanin?

Jo. ClickHouse ekzekutohet në një sistem të ndarë nga ai që shërben faqet — kështu është projektuar arkitektura. Ngjarjet e trafikut dërgohen në mënyrë asinkrone, ndërsa raportet nuk e prekin kurrë bazën e të dhënave të dyqanit.

Pse nuk përdorni thjesht Google Analytics?

Tri arsye. Të dhënat mbeten të tuat, në infrastrukturën e platformës, jo te Google. Nuk ke nevojë për cookies tracking nga palë të treta, prandaj përputhshmëria me GDPR është më e thjeshtë — në 2022, autoritete nga Austria, Franca dhe Italia e shpallën GA jopërputhës me GDPR. Dhe raportet janë të plota, jo të mostruara.

Cili është ndryshimi mes ClickHouse dhe PostgreSQL — pse të dyja?

PostgreSQL është baza transaksionale (OLTP): përpunon porosi, pagesa dhe stok, një nga një, me garanci saktësie. ClickHouse është baza analitike (OLAP): lexon miliona ngjarje njëherësh për raporte. Ndarja do të thotë që një raport i rëndë nuk konkurron me porositë e klientëve të tu.

A janë të dhënat e mia të trafikut në siguri dhe në përputhje me GDPR?

Po — nga dizajni. Statistikat janë first-party: qëndrojnë në infrastrukturën e platformës, në Evropë, nuk shiten dhe nuk ndahen me rrjete reklamimi. Qasja nuk përdor cookies tracking nga palë të treta, ndërsa të dhënat e një përdoruesi mund të fshihen me kërkesë, sipas GDPR.

Sa „në kohë reale“ janë statistikat?

Një ngjarje — një vizitë, një klikim, një porosi — bëhet e dukshme në raporte pak pas ndodhjes. Agregimet mbi periudha të gjata (muaj, vite) funksionojnë gjithashtu, sepse ClickHouse është ndërtuar pikërisht për këtë lloj query-sh.

A duhet të konfigurojë diçka që të kem statistika në faqen time?

Nuk do të nevojitet. Moduli i statistikave është në zhvillim dhe është ndërtuar si pjesë e platformës: kur të bëhet aktiv në panelin e administrimit, mbledhja nis automatikisht për faqet e publikuara — pa skripte për t'u instaluar dhe pa llogari të jashtme.

4b2b.net
Ekosistemi i biznesit
4conta.ro
Kontabilitet
4invoices.net
Aplikacion faturimi
4expenses.net
Menaxhimi i shpenzimeve
4notify.net
Njoftime
4hosting.net
Hostim
4database.net
Baza të dhënash
4buildsite.net
Ndërtues faqesh
4myapp.net
Ndërtues aplikacionesh
4avatars.net
Avatarë me AI
4chaty.net
Chatbot me AI
4webagency.net
Softuer për agjenci web
4softedu.net
Faqe për arsimin
4softcrm.net
Platformë CRM
4softerp.net
Sistem ERP
4softhr.net
Menaxhimi i personelit
4mystaff.net
Portali i stafit
4myprojects.net
Menaxher projektesh
4mycontracts.net
Kontrata
4docs.net
Menaxhimi i dokumenteve
4appointments.net
Rezervime
4marketingonline.net
Marketing
4insurance.net
Sigurime
4property.net
Pasuri të paluajtshme
4lawyers.net
Softuer ligjor
4mygarage.net
Servis automjetesh
4driving.net
Autoshkolla
4fleet.net
Menaxhimi i flotës
4myevents.net
Evente
4therapy.net
Terapi
4clinics.net
Klinika
4dental.net
Klinika dentare
4restaurants.net
Restorante
4beautify.net
Sallon bukurie
4gym.net
Palestra fitnesi
4guards.net
Kompani sigurie
4softvet.net
Klinika veterinare
4softauto.net
Softuer për biznesin e makinave
4construct.net
Kompani ndërtimi
4marketplace.net
Marketplace
4shopy.net
Dyqan online
4pricing.net
Krahasim çmimesh
4salefood.net
Dërgesa ushqimi
4rentify.net
Qira
4transports.net
Transport
4agencytravel.net
Agjenci udhëtimi
4hotel.net
Menaxhimi i hoteleve
4ong.net
Menaxhimi i OJF-ve