Teknologiat

← Etusivu
Analytiikka ja data

ClickHouse — alustan teknologiapinon reaaliaikainen analytiikkamoottori

4buildsiten teknologiapinoon kuuluu ClickHouse — sarakepohjainen tietokanta, joka on rakennettu erityisesti suurten tietomäärien analysointiin. Sen päälle rakennamme alustan liikenne- ja myyntitilastojen moduulia (kehitteillä): tiedot pysyvät sinun omanasi, raportit päivittyvät keräyksen mukana, ja keräys on erotettu sivuja tarjoavasta järjestelmästä.

Mikä ClickHouse on ja miksi käytämme sitä

ClickHouse on sarakepohjainen OLAP-tietokanta (online-analyysi), jonka Yandex kehitti Yandex.Metricaa varten — yhtä maailman suurimmista verkkoanalytiikkajärjestelmistä — ja julkaisi avoimena lähdekoodina vuonna 2016 Apache 2.0 -lisenssillä. Se on rakennettu yhtä asiaa varten, jonka se tekee poikkeuksellisen hyvin: nopeaan aggregointiin valtavilla tietomäärillä. 4buildsiten arkkitehtuurissa ClickHouse on tilastokerroksen moottori: jokaisesta käynnistä, klikkauksesta ja tilauksesta tulee tapahtuma, jota voi analysoida.

Salaisuus on sarakkeittainen tallennus: sen sijaan, että koko ”rivi” luettaisiin kerrallaan, ClickHouse lukee vain ne sarakkeet, joita raportti tarvitsee, ja käsittelee ne vektoroidusti suurissa lohkoissa. Siksi kysymykseen ”kuinka monta kävijää meillä oli eilen, sivu sivulta, lähteittäin” saa vastauksen alle sekunnissa miljoonien tapahtumien yli — perinteinen rivipohjainen tietokanta selviää siitä paljon hankalammin.

Kyse ei ole kapea-alaisesta teknologiasta: Cloudflare käyttää sitä HTTP-liikenteen analysointiin maailmanlaajuisessa mittakaavassa, ja Uber, eBay ja Spotify käyttävät sitä analytiikkaan ja lokien käsittelyyn valtavilla tietomäärillä. 4buildsitessa sama moottori on osa alustan teknologiapinoa — ilman että sinun tarvitsee palkata datainsinöörien tiimiä.

Reaaliaikaiset tilastot hidastamatta sivustoasi — näin moduuli on suunniteltu

Alustan tilastomoduuli on kehitteillä, ja sen arkkitehtuuri on yksinkertainen: liikennetapahtumat kerätään asynkronisesti ja kirjoitetaan ClickHouseen täysin erillään sivuja tarjoavista palvelimista. Raportit ajetaan omassa kerroksessaan. Mitään raskasta kolmannen osapuolen seurantaskriptiä, joka pilaisi suorituskykypisteesi, ei ole — keräys on minimaalista ja ensimmäisen osapuolen.

panel.4buildsite.net-hallintapaneelin raportit lasketaan suoraan ClickHousessa: sivukohtainen liikenne, kävijälähteet, konversiot, tuotekohtainen myynti. Usein tarvittavat aggregaatit lasketaan etukäteen materialized view -näkymillä jokaisen kirjoituksen yhteydessä, joten kojelauta näyttää valmiiksi lasketut luvut — raskasta laskentaa ei käynnistetä joka kerta, kun katsot sitä.

  • Liikenne: käynnit, sivut, lähteet ja laitteet — kyseltävissä keräyksen jälkeen
  • Tuotekohtainen myynti, tilaukset ja konversiot verkkokaupallesi, aggregoituna alle sekunnissa
  • Kuukausien ja vuosien historia pienellä kustannuksella — sarakepakkaus pienentää tallennustilan moninkertaisesti raakadataan verrattuna
  • Keräys on asynkronista, raportointi pyörii toisessa järjestelmässä

PostgreSQL + ClickHouse: miksi käytämme molempia

Alustan teknologiapino yhdistää kaksi tietokantaa, koska ne tekevät pohjimmiltaan eri asioita. PostgreSQL on transaktiorekisteri (OLTP): tilaukset, maksut, varasto, käyttäjätilit — toimintoja, joiden on oltava täysin oikein yksi kerrallaan, transaktiotakuin. ClickHouse on analyysisali (OLAP): miljoonia tapahtumia luetaan kerralla, jotta saat vastauksia liikennettä ja myyntiä koskeviin kysymyksiin.

Jos raskaat raportit ajettaisiin samassa tietokannassa, joka käsittelee tilauksia, jokainen raportti kilpailisi sillä hetkellä maksavien asiakkaiden kanssa. OLTP/OLAP-erottelu poistaa tämän ristiriidan: asiakkaan tilaus ei odota raporttiasi, eikä raporttisi odota muiden tilauksia. Kumpikin moottori tekee täsmälleen sen, mihin se on rakennettu.

  • PostgreSQL: tilaukset, Stripe-maksut, varasto, asiakkaat — transaktioiden oikeellisuus
  • ClickHouse: liikennetapahtumat, raportit, tilastot — aggregointi suurella volyymillä
  • Suunnitelman mukaan olennainen transaktiodata päätyy ClickHouseen tapahtumina, joten myyntiraportit eivät koskaan koske kauppaa palvelevaan kantaan

Oma, yksityisyyttä kunnioittava analytiikka — Google Analyticsin sijaan

Tilastomoduulin periaate: sivustosi data pysyy alustan infrastruktuurissa. Sitä ei lähetetä Googlelle tai muille mainosverkostoille, sitä ei myydä eikä yhdistetä ulkopuolisiin käyttäjäprofiileihin. Tämä on ensimmäisen osapuolen analytiikkaa sanan varsinaisessa merkityksessä: tiedot kävijöistäsi ovat sinun.

Koska toteutus ei käytä kolmannen osapuolen seurantaevästeitä, GDPR-vaatimustenmukaisuus yksinkertaistuu huomattavasti. Tausta on olennainen: vuonna 2022 Itävallan, Ranskan ja Italian tietosuojaviranomaiset julistivat Google Analyticsin käytön GDPR:n vastaiseksi tietojen Yhdysvaltoihin siirtämisen vuoksi. Omalla, Euroopassa isännöidyllä analytiikalla tämä riskiluokka poistuu alusta alkaen.

On myös suora käytännön hyöty: ClickHousessa lasketut raportit eivät ole otantaan perustuvia eivätkä saavu tuntien viiveellä, kuten ilmaisten analytiikkatyökalujen vakioraporteissa tapahtuu. Luvut ovat täydet.

Verkkokaupan ja markkinapaikan raportit — mitä moduuli tuo mukanaan

Verkkokaupalle ClickHouse tarkoittaa välittömiä vastauksia olennaisiin kysymyksiin: mitä tuotteita myydään, mistä ostavat asiakkaat tulevat, missä ostoskorit hylätään. Usean myyjän markkinapaikalla samat aggregoinnit ajetaan kaikkien tilausten yli: myyjäkohtainen volyymi, provisiot, kategorian myydyimmät tuotteet — ilman manuaalisia vientejä ja laskentataulukoita.

Myös mittakaavassa asiat pysyvät edullisina. Sarakepakkaus pienentää datan moninkertaisesti raakamuotoon verrattuna, joten säilytät vuosien historiaa pienellä tallennuskustannuksella. Ja kun liikenne kasvaa tuhansista miljooniin tapahtumiin, moottori on suunniteltu alusta alkaen miljardeille riveille, ei mukautettu jälkikäteen.

Edut ja rajoitukset

Edut

  • Miljoonien tapahtumien aggregoinnit alle sekunnissa.
  • Analytiikka pyörii sivuja tarjoavasta järjestelmästä erillään.
  • Liikennedata pysyy sinun omanasi alustan infrastruktuurissa — ei siirtoa Googlelle tai mainosverkostoille.
  • Ei kolmannen osapuolen seurantaevästeitä — GDPR-vaatimustenmukaisuus on helpompaa.
  • Tehokas sarakepakkaus — vuosien historia pienellä tallennuskustannuksella.
  • Avoin lähdekoodi (Apache 2.0), ei volyymiperusteisia lisenssejä — kustannukset eivät räjähdä liikenteen kasvaessa.

Rajoitukset

  • Ei ole transaktiotietokanta — yksittäisten rivien muuttaminen tai poistaminen on raskas operaatio; siksi tilaukset ja maksut ovat PostgreSQL:ssä.
  • Optimoitu suurille eräkirjoituksille; monet pienet ja tiheät lisäykset vaativat eräajoa (batching) — alusta hoitaa tämän, mutta se on moottorin todellinen rajoitus.
  • Monimutkaiset JOIN-operaatiot ovat vähemmän joustavia kuin PostgreSQL:ssä — tapahtumaskeema on suunniteltava analyysia varten alusta alkaen.
  • Yksittäisen rivin haku (point lookup) on hitaampaa kuin indeksoidussa OLTP-kannassa — se ei korvaa kaupan pääasiallista tietokantaa.

Lyhyt yhteenveto

ClickHouse on oikea valinta analytiikkaan suurella volyymillä: reaaliaikaiset liikenne- ja myyntitilastot omalla datallasi erillään sivustosta. Tilauksille, maksuille ja varastolle PostgreSQL pysyy valintana — siksi 4buildsiten teknologiapino yhdistää molemmat, kumpikin siihen, missä on parhaimmillaan. ClickHouseen rakennettu tilastomoduuli on kehitteillä.

Tekniset tiedot

OminaisuusRaja / kynnysTyypillinen käyttö
Analyyttiset aggregoinnitAlle sekunti miljoonilla tapahtumilla (sarakepohjainen + vektoroitu)Hidas yksittäisen rivin haussa — ei OLTP-hakuihinLiikenne- ja myyntiraportit (tilastomoduuli, kehitteillä)
Tapahtumien vastaanottoSuuret volyymit, kirjoitettuna erinäPienet ja tiheät lisäykset vaativat batchingia / async insertiäSivunäyttöjen, klikkausten ja tilausten keräys
Tallennus ja pakkausSarakepakkaus (LZ4/ZSTD), moninkertaisesti raakavolyymia pienempiHyvin satunnainen data pakkautuu heikomminKuukausien ja vuosien tapahtumahistoria pienellä kustannuksella
Päivitykset ja poistotAsynkroniset mutaatiot (mutations) satunnaisiin korjauksiinEi sovellu tiheisiin yksittäisten rivien UPDATE-operaatioihinGDPR-poistot (käyttäjän tiedot pyynnöstä)
Materialized viewsEtukäteen lasketut aggregaatit jokaisen kirjoituksen yhteydessäAggregaatit on määriteltävä etukäteen raporttikohtaisestiKojelaudat: myynti päivittäin, tuotteittain, lähteittäin
ReaaliaikaTapahtumat ovat kyseltävissä keräyksen jälkeenEi ole millisekuntitason suoratoistojärjestelmäLive-liikenne- ja konversiotilastot

ClickHouse vs PostgreSQL vs Google Analytics / BigQuery — analytiikkaan

KriteeriClickHouse (4buildsite)PostgreSQL (analytiikkaan)Google Analytics / BigQuery
Aggregointinopeus suurella volyymilläAlle sekunti miljoonilla riveilläHidastuu selvästi kymmenillä miljoonilla riveillä (rivipohjainen tallennus)BigQuery nopea; GA4:ssä esiaggregoidut vakioraportit, ei vapaita kyselyitä
Datan omistus / GDPRSinun datasi, alustan infrastruktuurissa, EuroopassaSinun datasi, omilla palvelimillasiData Googlella; GA-siirrot Yhdysvaltoihin EU-viranomaiset julistivat GDPR:n vastaisiksi vuonna 2022
Evästeet ja suostumusEi kolmannen osapuolen seurantaevästeitäRiippuu omasta toteutuksestaSeuranta vaatii suostumusbannerin
ReaaliaikaData kyseltävissä keräyksen jälkeenMahdollista, mutta raskaat raportit kuormittavat transaktiokantaaGA4:n vakioraportit voivat viivästyä tunteja; BigQuery-suoratoisto maksaa lisää
Kustannus volyymilläAvoin lähdekoodi — kustannus on vain infrastruktuuri, sisältyy tilaukseenKasvaa indeksien, vacuumin ja laitteiston myötä suurilla volyymeilläBigQuery veloittaa kyselyn volyymin mukaan; GA:n enterprise-versio on kallis
Vaikutus sivuston nopeuteenAsynkroninen keräys, raportointi erillisessä järjestelmässäRaportit voivat kilpailla tilausten kanssa samassa kannassaKolmannen osapuolen skripti (gtag.js) sivulla — ylimääräistä JavaScriptiä ja ulkoisia pyyntöjä

Usein kysytyt kysymykset

Hidastaako ClickHouse sivustoani tai verkkokauppaani?

Ei. ClickHouse pyörii sivuja tarjoavasta järjestelmästä erillään — arkkitehtuuri on suunniteltu niin. Liikennetapahtumat lähetetään asynkronisesti, eivätkä raportit koske koskaan kaupan tietokantaan.

Miksi ette käytä vain Google Analyticsia?

Kolme syytä. Data pysyy sinun omanasi alustan infrastruktuurissa, ei Googlella. Et tarvitse kolmannen osapuolen seurantaevästeitä, joten GDPR-vaatimustenmukaisuus on helpompaa — vuonna 2022 Itävallan, Ranskan ja Italian viranomaiset julistivat GA:n GDPR:n vastaiseksi. Ja raportit ovat täydellisiä, ei otannalla tai tuntien viiveellä.

Mitä eroa on ClickHousella ja PostgreSQL:llä — miksi molemmat?

PostgreSQL on transaktiotietokanta (OLTP): se käsittelee tilaukset, maksut ja varaston yksi kerrallaan oikeellisuustakuin. ClickHouse on analytiikkatietokanta (OLAP): se lukee miljoonia tapahtumia kerralla raportteja varten. Erottelun ansiosta raportit ajetaan erillään asiakkaidesi tilauksista.

Ovatko liikennedatani turvassa ja GDPR-yhteensopivia?

Kyllä — suunnittelun kautta. Tilastot ovat ensimmäisen osapuolen dataa: ne pysyvät alustan infrastruktuurissa Euroopassa, niitä ei myydä eikä jaeta mainosverkostoille. Toteutus ei käytä kolmannen osapuolen seurantaevästeitä, ja käyttäjän tiedot voidaan poistaa pyynnöstä GDPR:n mukaisesti.

Kuinka ”reaaliaikaisia” tilastot ovat?

Tapahtuma — käynti, klikkaus, tilaus — tulee kyseltäväksi raporteissa keräyksen jälkeen. Pitkien ajanjaksojen (kuukaudet, vuodet) aggregoinnit tehdään ClickHousella, joka on rakennettu juuri tällaisia kyselyitä varten.

Pitääkö minun määrittää jotain saadakseni tilastoja sivustolleni?

Ei tarvitse. Tilastomoduuli on kehitteillä ja rakennetaan osaksi alustaa: kun se aktivoituu hallintapaneelissa, keräys käynnistyy automaattisesti julkaistuille sivustoille — ilman asennettavia skriptejä ja ulkoisia tilejä.

4b2b.net
Liiketoiminnan ekosysteemi
4conta.ro
Kirjanpito
4invoices.net
Laskutussovellus
4expenses.net
Kulunhallinta
4notify.net
Ilmoitukset
4hosting.net
Webhotelli
4database.net
Tietokannat
4buildsite.net
Kotisivukone
4myapp.net
Sovelluskehitin
4avatars.net
AI-avatarit
4chaty.net
AI-chatbot
4webagency.net
Ohjelmisto verkkotoimistoille
4softedu.net
Verkkosivut oppilaitoksille
4softcrm.net
CRM-alusta
4softerp.net
Toiminnanohjaus
4softhr.net
Henkilöstöhallinto
4mystaff.net
Henkilöstöportaali
4myprojects.net
Projektinhallinta
4mycontracts.net
Sopimukset
4docs.net
Dokumenttienhallinta
4appointments.net
Ajanvaraus
4marketingonline.net
Markkinointi
4insurance.net
Vakuutusohjelmisto
4property.net
Kiinteistönvälitys
4lawyers.net
Asianajotoimiston ohjelmisto
4mygarage.net
Autokorjaamo
4driving.net
Autokoulut
4fleet.net
Kalustonhallinta
4myevents.net
Tapahtumat
4therapy.net
Terapiavastaanotto
4clinics.net
Klinikat
4dental.net
Hammasklinikat
4restaurants.net
Ravintolat
4beautify.net
Kauneushoitola
4gym.net
Kuntosalit ja liikuntakeskukset
4guards.net
Vartiointiliikkeet
4softvet.net
Eläinlääkäriasemat
4softauto.net
Autoalan ohjelmisto
4construct.net
Rakennusliikkeet
4marketplace.net
Kauppapaikka
4shopy.net
Verkkokauppa
4pricing.net
Hintavertailu
4salefood.net
Ruoan verkkokauppa
4rentify.net
Vuokraus
4transports.net
Kuljetus
4agencytravel.net
Matkatoimisto
4hotel.net
Hotellijärjestelmä
4ong.net
Yhdistysten hallinta