ClickHouse — rauntímagreining í tæknistafla vettvangsins
Tæknistafli 4buildsite inniheldur ClickHouse — dálkagagnagrunn sem er smíðaður sérstaklega fyrir greiningu á miklu magni. Á honum byggjum við einingu vettvangsins fyrir umferðar- og söluskýrslur (í þróun): gögnin haldast þín, skýrslurnar keyra á aðskildu kerfi frá vefnum þínum — þannig er arkitektúrinn hannaður.
Hvað er ClickHouse og hvers vegna notum við hann
ClickHouse er dálkagagnagrunnur af gerðinni OLAP (netgreining), búinn til hjá Yandex fyrir Yandex.Metrica — eitt stærsta vefgreiningarkerfi í heimi — og gefinn út sem opinn hugbúnaður árið 2016 undir Apache 2.0-leyfi. Hann er smíðaður fyrir eitt og aðeins eitt, sem hann gerir einstaklega vel: hraðar samtölur yfir gríðarlegt gagnamagn. Í arkitektúr 4buildsite er ClickHouse vélin sem valin var fyrir tölfræðilagið: sérhver heimsókn, smellur og pöntun verður að atburði sem hægt er að greina í skýrslum.
Leyndarmálið er dálkageymsla: í stað þess að lesa hverja „röð“ í heild les ClickHouse aðeins þá dálka sem skýrslan þarfnast og vinnur úr þeim vektoraðferð, í stórum blokkum. Þess vegna fær spurning eins og „hversu margir gestir komu í gær, á hverja síðu, frá hverri uppsprettu“ svar hratt, jafnvel yfir milljónir atburða — nokkuð sem hefðbundinn, raðamiðaður gagnagrunnur leysir mun erfiðar.
Þetta er ekki sérhæfð tækni fyrir fáa: Cloudflare notar hana til að greina HTTP-umferð á heimsvísu, og Uber, eBay og Spotify nota hana fyrir greiningu og vinnslu annála í gríðarlegu magni. Á 4buildsite er sama vélin hluti af tæknistafla vettvangsins — án þess að þú þurfir að ráða teymi gagnaverkfræðinga.
Rauntímatölfræði aðskilin frá vefnum þínum — hvernig einingin er hönnuð
Tölfræðieining vettvangsins er í þróun og arkitektúr hennar er einfaldur: umferðaratburðum er safnað ósamstillt og þeir skrifaðir í ClickHouse, algerlega aðskilið frá þjónunum sem bera fram síðurnar. Það er ekkert þungt mælingarskript þriðja aðila á síðunni — söfnunin er í lágmarki og af fyrstu hendi.
Skýrslurnar á panel.4buildsite.net verða reiknaðar beint í ClickHouse: umferð á síður, uppsprettur gesta, umbreytingar, sala eftir vöru. Algengar samtölur eru forreiknaðar með materialized views við hverja skrift, svo ekki er hafinn þungur útreikningur í hvert skipti sem þú skoðar stjórnborðið.
- Lifandi umferð: heimsóknir, síður, uppsprettur og tæki — hægt að spyrja um hana eftir söfnun
- Sala eftir vöru, pantanir og umbreytingar fyrir verslunina þína, samtölur reiknaðar í ClickHouse
- Saga á mánuði og ár á lágum kostnaði — dálkaþjöppun minnkar geymslu margfalt miðað við hrá gögn
- Söfnunin er ósamstillt, skýrslugerð keyrir á öðru kerfi en vefurinn
PostgreSQL + ClickHouse: hvers vegna við notum báða
Tæknistafli vettvangsins sameinar tvo gagnagrunna því þeir gera í grundvallaratriðum ólíka hluti. PostgreSQL er færslubókin (OLTP): pantanir, greiðslur, birgðir, notendareikningar — aðgerðir sem þurfa að vera fullkomlega réttar ein og ein, með færslutryggingum. ClickHouse er greiningarsalurinn (OLAP): milljónir atburða lesnar í einu til að svara spurningum um umferð og sölu.
Ef þungar skýrslur keyrðu á sama gagnagrunni og vinnur úr pöntunum myndi hver skýrsla keppa við viðskiptavini sem eru að greiða á þeirri stundu. Aðskilnaðurinn OLTP/OLAP þýðir að pöntun og skýrsla keppa ekki um sama gagnagrunn. Hvor vél gerir nákvæmlega það sem hún var smíðuð til að gera.
- PostgreSQL: pantanir, Stripe-greiðslur, birgðir, viðskiptavinir — færslurétt
- ClickHouse: umferðaratburðir, skýrslur, tölfræði — samtölur í miklu magni
- Hönnunin gerir ráð fyrir að viðeigandi færslugögn berist í ClickHouse sem atburðir, svo söluskýrslur snerta aldrei gagnagrunninn sem þjónar versluninni
Eigin greining sem virðir friðhelgi — í stað Google Analytics
Grundvallarreglan í tölfræðieiningunni: gögn vefsins þíns haldast á innviðum vettvangsins. Þau eru ekki send til Google eða annarra auglýsinganeta, ekki seld og ekki sameinuð ytri notendasniðum. Þetta er greining af fyrstu hendi í bókstaflegri merkingu: gögnin um gesti þína eru þín.
Þar sem aðferðin notar ekki rakningarkökur þriðja aðila verður samræmi við GDPR mun einfaldara. Samhengið skiptir máli: árið 2022 lýstu persónuverndaryfirvöld í Austurríki, Frakklandi og Ítalíu notkun Google Analytics ósamrýmanlega GDPR vegna gagnaflutninga til Bandaríkjanna. Með eigin greiningu, hýstri í Evrópu, hverfur þessi áhættuflokkur frá upphafi.
Það er líka beinn hagnýtur ávinningur: skýrslur reiknaðar í ClickHouse eru ekki úrtaksbundnar, ólíkt mörgum skýrslum ókeypis greiningartóla.
Skýrslur fyrir verslun og markaðstorg — hvað einingin mun skila
Fyrir netverslun mun ClickHouse þýða svör við þeim spurningum sem skipta máli: hvaða vörur seljast, frá hvaða uppsprettum koma viðskiptavinirnir sem kaupa, hvar eru körfur yfirgefnar. Fyrir markaðstorg með mörgum seljendum munu sömu samtölur keyra yfir allar pantanir: umfang á seljanda, þóknanir, vinsælustu vörur eftir flokki — án handvirks útflutnings og án töflureikna.
Og í stórum stíl haldast hlutirnir ódýrir. Dálkaþjöppun minnkar gögnin margfalt miðað við hrátt snið, svo þú geymir ára sögu á litlum geymslukostnaði. Og þegar umferðin vex úr þúsundum í milljónir atburða eru samtölurnar áfram hraðar — vélin var hönnuð frá upphafi fyrir milljarða raða, ekki löguð að því eftir á.
Kostir og takmarkanir
Kostir
- Samtölur yfir milljónir atburða, reiknaðar í dálkagagnagrunni.
- Greiningin keyrir á kerfi aðskildu frá því sem ber fram síðurnar.
- Umferðargögnin haldast þín, á innviðum vettvangsins — án flutnings til Google eða auglýsinganeta.
- Engar rakningarkökur þriðja aðila — einfaldara samræmi við GDPR.
- Öflug dálkaþjöppun — ára saga á litlum geymslukostnaði.
- Opinn hugbúnaður (Apache 2.0), engin leyfi eftir magni — kostnaðurinn rýkur ekki upp þegar umferðin vex.
Takmarkanir
- Ekki færslugagnagrunnur — að breyta eða eyða einstökum röðum er þung aðgerð; þess vegna eru pantanir og greiðslur í PostgreSQL.
- Fínstilltur fyrir skrif í stórum lotum; margar litlar og tíðar innsetningar krefjast lotuvinnslu — vettvangurinn sér um það, en það er raunveruleg takmörkun vélarinnar.
- Flóknir JOIN eru minna sveigjanlegir en í PostgreSQL — atburðaskemað þarf að hanna fyrir greiningu frá upphafi.
- Uppfletting einnar raðar (point lookup) er hægari en í skráðum OLTP-gagnagrunni — hann kemur ekki í stað aðalgagnagrunns verslunarinnar.
Stutt niðurstaða
ClickHouse er rétta valið fyrir greiningu í miklu magni: umferðar- og söluskýrslur í rauntíma, með þínum gögnum, aðskilið frá því sem ber fram vefinn. Fyrir pantanir, greiðslur og birgðir er PostgreSQL áfram — þess vegna sameinar tæknistafli 4buildsite báða, hvorn á því sem hann gerir best. Tölfræðieiningin sem byggð er á ClickHouse er í þróun.
Tækniforskriftir
| Geta | Takmörk / þröskuldur | Dæmigerð notkun | |
|---|---|---|---|
| Greiningarsamtölur | Hraðar samtölur á milljónum atburða (dálkamiðað + vektorvinnsla) | Hægt við uppfletting einnar raðar — ekki fyrir OLTP-uppflettingar | Umferðar- og söluskýrslur (tölfræðieining, í þróun) |
| Innlestur atburða | Mikið magn, skrifað í lotum | Litlar og tíðar innsetningar krefjast lotuvinnslu / async insert | Söfnun síðuskoðana, smella, pantana |
| Geymsla & þjöppun | Dálkaþjöppun (LZ4/ZSTD), margfalt undir hráu magni | Mjög handahófskennd gögn þjappast minna | Atburðasaga á mánuði og ár, á lágum kostnaði |
| Uppfærslur & eyðingar | Ósamstilltar mutations fyrir stöku leiðréttingar | Óhentugt fyrir tíðar UPDATE á einstökum röðum | GDPR-eyðingar (gögn notanda, eftir beiðni) |
| Materialized views | Forreiknaðar samtölur við hverja skrift | Samtölur þarf að skilgreina fyrirfram, fyrir hverja skýrslu | Stjórnborð með forreiknuðum samtölum: sala á dag, vöru, uppsprettu |
| Rauntími | Atburðir eru spurðanlegir eftir að þeir hafa verið skráðir | Ekki straumkerfi á millisekúnduskala | Lifandi umferðar- og umbreytingartölfræði |
ClickHouse samanborið við PostgreSQL og Google Analytics / BigQuery — fyrir greiningu
| Viðmið | ClickHouse (4buildsite) | PostgreSQL (fyrir greiningu) | Google Analytics / BigQuery |
|---|---|---|---|
| Hraði samtalna í miklu magni | Hraðar samtölur á milljónum raða | Hægist sýnilega á tugum milljóna raða (raðageymsla) | BigQuery hratt; GA4 hefur staðlaðar forsamantekt skýrslur, án frjálsra fyrirspurna |
| Eignarhald gagna / GDPR | Þín gögn, á innviðum vettvangsins, í Evrópu | Þín gögn, á þínum eigin þjónum | Gögn hjá Google; GA-flutningar til Bandaríkjanna lýstir ósamrýmanlegir GDPR af yfirvöldum í ESB 2022 |
| Kökur & samþykki | Engar rakningarkökur þriðja aðila | Fer eftir eigin útfærslu | Krefst samþykkisborða fyrir rakningu |
| Rauntími | Gögn spyrjanleg eftir að þau hafa verið skráð | Mögulegt, en þungar skýrslur íþyngja færslugagnagrunninum | Staðlaðar GA4-skýrslur geta birst með klukkustunda seinkun; BigQuery-streymi kostar aukalega |
| Kostnaður í miklu magni | Opinn hugbúnaður — kostnaðurinn er aðeins innviðir, innifaldir í áskrift | Vex með vísitölum, vacuum og vélbúnaði á miklu magni | BigQuery gjaldfærir eftir magni fyrirspurna; stórfyrirtækjaútgáfa GA er dýr |
| Áhrif á hraða vefsins | Ósamstillt söfnun, skýrslugerð á aðskildu kerfi | Skýrslur geta keppt við pantanir á sama gagnagrunni | Skript þriðja aðila (gtag.js) á síðunni — aukalegt JavaScript og ytri beiðnir |
Algengar spurningar
Hægir ClickHouse á vefnum mínum eða versluninni?
Nei. ClickHouse keyrir á kerfi aðskildu frá því sem ber fram síðurnar — þannig er arkitektúrinn hannaður. Umferðaratburðir eru sendir ósamstillt og skýrslur snerta aldrei gagnagrunn verslunarinnar.
Hvers vegna notið þið ekki bara Google Analytics?
Þrjár ástæður. Gögnin haldast þín, á innviðum vettvangsins, ekki hjá Google. Þú þarft ekki rakningarkökur þriðja aðila, svo samræmi við GDPR er einfaldara — árið 2022 lýstu yfirvöld í Austurríki, Frakklandi og Ítalíu GA ósamrýmanlegt GDPR. Og skýrslur eru heildstæðar, ekki úrtaksbundnar.
Hver er munurinn á ClickHouse og PostgreSQL — hvers vegna báðir?
PostgreSQL er færslugagnagrunnurinn (OLTP): vinnur úr pöntunum, greiðslum og birgðum, einni og einni, með réttleikatryggingum. ClickHouse er greiningargagnagrunnurinn (OLAP): les milljónir atburða í einu fyrir skýrslur. Aðskilnaðurinn þýðir að þung skýrsla keppir ekki við pantanir viðskiptavina þinna um sama gagnagrunn.
Eru umferðargögnin mín örugg og í samræmi við GDPR?
Já — með hönnun. Tölfræðin er af fyrstu hendi: hún liggur á innviðum vettvangsins, í Evrópu, er ekki seld og ekki deilt með auglýsinganetum. Aðferðin notar ekki rakningarkökur þriðja aðila og gögnum notanda má eyða eftir beiðni, í samræmi við GDPR.
Hversu „rauntíma“ er tölfræðin?
Atburður — heimsókn, smellur, pöntun — verður sýnilegur í skýrslum eftir að hann hefur verið skráður. Samtölur yfir löng tímabil (mánuði, ár) eru einnig reiknaðar fljótt, því ClickHouse var smíðaður nákvæmlega fyrir slíkar fyrirspurnir.
Þarf ég að stilla eitthvað til að fá tölfræði á vefinn minn?
Það mun ekki þurfa. Tölfræðieiningin er í þróun og er byggð sem hluti af vettvangnum: þegar hún verður virk í stjórnborðinu hefst söfnun sjálfkrafa fyrir útgefna vefi — án skripta til að setja upp og án ytri reikninga.