ClickHouse — platforma stekindəki real vaxt analitika mühərriki
4buildsite stekinə ClickHouse daxildir — yüksək həcmli analitika üçün xüsusi yaradılmış sütunlu verilənlər bazası. Platformanın trafik və satış statistikası modulunu (hazırlanma mərhələsində) məhz onun üzərində qururuq: data sizdə qalır, hesabatlar saniyələr içində görünür, sayt isə bu hesabatlar üzündən bir millisaniyə belə itirmir — arxitektura məhz belə qurulub.
ClickHouse nədir və niyə ondan istifadə edirik
ClickHouse sütunlu OLAP (onlayn analitika) verilənlər bazasıdır; dünyanın ən böyük veb-analitika sistemlərindən biri olan Yandex.Metrica üçün Yandex-də yaradılıb və 2016-cı ildə Apache 2.0 lisenziyası ilə açıq mənbəyə çıxarılıb. O, yalnız bir iş üçün qurulub və həmin işi müstəsna dərəcədə yaxşı görür: böyük həcmli data üzərində sürətli aqreqasiyalar. 4buildsite arxitekturasında ClickHouse statistika qatı üçün seçilmiş mühərrikdir: hər ziyarət, klik və sifariş təhlil oluna bilən hadisəyə çevrilir.
Sirr sütunlu saxlamadadır: ClickHouse hər “sətri” tam oxumaq əvəzinə yalnız hesabatın lazım olduğu sütunları oxuyur və onları iri, vektorlaşdırılmış bloklarla emal edir. Buna görə “dünən səhifələr və mənbələr üzrə neçə ziyarətçim olub” kimi sual milyonlarla hadisə üzərində belə bir saniyədən az müddətdə cavablanır — klassik sətir yönümlü verilənlər bazasının çətinlik çəkdiyi bir şey.
Bu, nişa texnologiya deyil: Cloudflare ondan qlobal miqyasda HTTP trafikini təhlil etmək üçün istifadə edir, Uber, eBay və Spotify isə çox böyük həcmlərdə analitika və log emalı üçün. 4buildsite-da eyni mühərrik platforma stekinin bir hissəsidir — data mühəndisliyi komandası tutmağa ehtiyac olmadan.
Saytı yavaşlatmadan real vaxt statistikası — modul necə layihələndirilib
Platformanın statistika modulu hazırlanma mərhələsindədir və arxitekturası sadədir: trafik hadisələri asinxron toplanır və səhifələrinizi çatdıran serverlərdən tamamilə ayrı şəkildə ClickHouse-a yazılır. Səhifəyə ağır üçüncü tərəf izləmə skripti yüklənmir — toplama minimaldır və first-party-dir.
panel.4buildsite.net-dəki hesabatlar birbaşa ClickHouse-da hesablanacaq: səhifə trafiki, ziyarətçi mənbələri, konversiyalar, məhsul üzrə satışlar. Tez-tez istifadə olunan aqreqasiyalar hər yazıda materialized view-lar vasitəsilə əvvəlcədən hesablanır, buna görə dashboard açılacaq — hər baxışınızda ağır hesablama başlatmır.
- Canlı trafik: ziyarətlər, səhifələr, mənbələr və cihazlar — toplanmadan bir neçə saniyə sonra sorğulana bilir
- Mağazanız üçün məhsul üzrə satışlar, sifarişlər və konversiyalar — bir saniyədən az müddətdə aqreqasiya olunur
- Aylarla və illərlə tarixçə aşağı xərclə — sütunlu sıxılma saxlama həcmini xam dataya nisbətən bir neçə dəfə azaldır
- Sayt sürətinə təsir: toplama asinxrondur, hesabatlandırma ayrıca sistemdə işləyir
PostgreSQL + ClickHouse: niyə hər ikisindən istifadə edirik
Platforma steki iki verilənlər bazasını birləşdirir, çünki onlar əsasən fərqli işlər görür. PostgreSQL tranzaksiya jurnalıdır (OLTP): sifarişlər, ödənişlər, stok, istifadəçi hesabları — tranzaksiya zəmanətləri ilə hər biri ayrı-ayrılıqda tam düzgün olmalı əməliyyatlar. ClickHouse isə analiz otağıdır (OLAP): trafik və satışlar barədə suallarınıza cavab vermək üçün milyonlarla hadisə eyni anda oxunur.
Ağır hesabatlar sifarişləri emal edən eyni verilənlər bazasında işləsəydi, hər hesabat məhz o anda ödəniş edən müştərilərlə rəqabət aparardı. OLTP/OLAP ayrılığı bu konflikti aradan qaldırır: müştərinin sifarişi sizin hesabatınızı gözləmir, sizin hesabatınız da başqasının sifarişlərini gözləmir. Hər mühərrik məhz yaradıldığı işi görür.
- PostgreSQL: sifarişlər, Stripe ödənişləri, stok, müştərilər — tranzaksiya düzgünlüyü
- ClickHouse: trafik hadisələri, hesabatlar, statistika — həcm üzrə aqreqasiya
- Dizayn aidiyyəti olan tranzaksiya datasını hadisə kimi ClickHouse-a replikasiya edir, beləliklə satış hesabatları mağazanıza xidmət edən verilənlər bazasına heç vaxt toxunmur
First-party, məxfiliyə hörmət edən analitika — Google Analytics əvəzinə
Statistika modulunun prinsipi: saytınızın datası platformanın infrastrukturunda qalır. O, Google-a və ya digər reklam şəbəkələrinə göndərilmir, satılmır və xarici istifadəçi profilləri ilə birləşdirilmir. Bu, sözün əsl mənasında first-party analitikadır: ziyarətçilərinizlə bağlı data sizə məxsusdur.
Yanaşma üçüncü tərəf izləmə cookie-lərindən istifadə etmədiyi üçün GDPR uyğunluğu xeyli sadələşir. Kontekst vacibdir: 2022-ci ildə Avstriya, Fransa və İtaliyanın məlumat mühafizəsi orqanları Google Analytics-in ABŞ-a data ötürülməsi səbəbilə GDPR-a uyğun olmadığını elan etdi. Avropada yerləşən first-party analitika ilə bu risk kateqoriyası əvvəldən aradan qalxır.
Birbaşa praktik fayda da var: ClickHouse-da hesablanan hesabatlar seçmə (sampling) olmur və pulsuz analitika alətlərinin standart hesabatlarında tez-tez olduğu kimi saatlarla gecikmir. Tam rəqəmlər, saniyələr içində.
Mağaza və marketplace hesabatları — modulun təqdim edəcəyi imkanlar
Onlayn mağaza üçün ClickHouse vacib suallara cavab deməkdir: hansı məhsullar satılır, hansı mənbələr həqiqətən alan müştərilər gətirir, səbətlər harada tərk edilir. Çoxsatıcılı marketplace üçün eyni aqreqasiyalar bütün sifarişlər üzrə işləyəcək: satıcı üzrə həcm, komissiyalar, kateqoriya üzrə ən çox satılan məhsullar — əl ilə ixrac və cədvəllər olmadan.
Miqyas böyüdükdə isə hər şey ucuz və sürətli qalır. Sütunlu sıxılma datanı xam formata nisbətən bir neçə dəfə kiçildir, beləliklə illərlə tarixçəni aşağı saxlama xərci ilə saxlayırsınız. Trafik minlərlə hadisədən milyonlara çatdıqda aqreqasiyalar saniyədən qısa müddətdə qalır — mühərrik sonradan uyğunlaşdırılmayıb, əvvəldən milyardlarla sətir üçün layihələndirilib.
Üstünlüklər və məhdudiyyətlər
Üstünlüklər
- Milyonlarla hadisə üzərində bir saniyədən az müddətdə aqreqasiyalar — açılan hesabatlar.
- Sayt sürətinə təsir: analitika səhifələri çatdıran sistemdən ayrı sistemdə işləyir.
- Trafik datanız sizə məxsus qalır, platformanın infrastrukturunda — Google-a və ya reklam şəbəkələrinə ötürülmə yoxdur.
- Üçüncü tərəf izləmə cookie-ləri yoxdur — daha sadə GDPR uyğunluğu.
- Güclü sütunlu sıxılma — illərlə tarixçə aşağı saxlama xərci ilə.
- Açıq mənbə (Apache 2.0), həcmə görə lisenziyalar yoxdur — trafik artdıqca xərc partlamır.
Məhdudiyyətlər
- Tranzaksiya verilənlər bazası deyil — ayrı-ayrı sətirləri yeniləmək və ya silmək ağır əməliyyatdır; sifarişlər və ödənişlər buna görə PostgreSQL-də saxlanılır.
- İri toplu yazılar üçün optimallaşdırılıb; tez-tez edilən çoxlu kiçik insert-lər batching tələb edir — platforma bunu həll edir, lakin bu, mühərrikin real məhdudiyyətidir.
- Mürəkkəb JOIN-lər PostgreSQL-dəkindən daha az çevikdir — hadisə sxemi əvvəldən analitika üçün layihələndirilməlidir.
- Tək sətrin axtarışı (point lookup) indekslənmiş OLTP verilənlər bazasından yavaşdır — mağazanın əsas verilənlər bazasını əvəz etmir.
Qısa nəticə
ClickHouse həcmli analitika üçün düzgün seçimdir: real vaxt trafik və satış statistikası, öz datanızla. Sifarişlər, ödənişlər və stok üçün PostgreSQL qalır — buna görə 4buildsite steki hər ikisini birləşdirir, hər biri ən yaxşı bacardığı işdə. ClickHouse üzərində qurulan statistika modulu hazırlanma mərhələsindədir.
Spesifikasiyalar cədvəli
| İmkan | Limit / hədd | Tipik istifadə | |
|---|---|---|---|
| Analitik aqreqasiyalar | Milyonlarla hadisə üzərində bir saniyədən az (sütunlu + vektorlaşdırılmış) | Tək sətir axtarışında yavaşdır — OLTP point oxumaları üçün deyil | Trafik və satış hesabatları (statistika modulu, hazırlanma mərhələsində) |
| Hadisələrin qəbulu (ingestion) | Yüksək həcmlər, batch-lərlə yazılır | Tez-tez edilən kiçik insert-lər batching / async insert tələb edir | Pageview-ların, kliklərin, sifarişlərin toplanması |
| Saxlama və sıxılma | Sütunlu sıxılma (LZ4/ZSTD), xam həcmdən bir neçə dəfə az | Çox təsadüfi data daha az sıxılır | Aylarla və illərlə hadisə tarixçəsi, aşağı xərclə |
| Yeniləmələr və silmələr | Ara-sıra düzəlişlər üçün asinxron mutasiyalar | Tez-tez tək sətirli UPDATE-lər üçün yararsızdır | GDPR silmələri (bir istifadəçinin datası, sorğu üzrə) |
| Materialized view-lar | Aqreqatlar hər yazıda əvvəlcədən hesablanır | Aqreqatlar hər hesabat üçün öncədən müəyyən edilməlidir | Ani dashboard-lar: gün, məhsul, mənbə üzrə satışlar |
| Real vaxt | Hadisələr baş verdikdən bir neçə saniyə sonra sorğulana bilir | Millisaniyə səviyyəli streaming sistemi deyil | Canlı trafik və konversiya statistikası |
ClickHouse vs PostgreSQL vs Google Analytics / BigQuery — analitika üçün
| Kriteriya | ClickHouse (4buildsite) | PostgreSQL (analitika üçün) | Google Analytics / BigQuery |
|---|---|---|---|
| Həcm üzrə aqreqasiya sürəti | Milyonlarla sətir üzərində bir saniyədən az | On milyonlarla sətirdə nəzərəçarpacaq dərəcədə zəifləyir (sətirli saxlama) | BigQuery sürətlidir; GA4-də əvvəlcədən aqreqasiya olunmuş standart hesabatlar var, sərbəst sorğular yoxdur |
| Datanın mülkiyyəti / GDPR | Sizin dataınız, Avropada platformanın infrastrukturunda | Sizin dataınız, sizin serverlərinizdə | Data Google-dadır; GA-nın ABŞ-a ötürmələri 2022-də Aİ orqanları tərəfindən GDPR-a uyğunsuz hesab edilib |
| Cookie-lər və razılıq | Üçüncü tərəf izləmə cookie-ləri yoxdur | Öz implementasiyanızdan asılıdır | İzləmə üçün razılıq banneri tələb olunur |
| Real vaxt | Data saniyələr içində sorğulana bilir | Mümkündür, lakin ağır hesabatlar tranzaksiya verilənlər bazasını yükləyir | GA4 standart hesabatları saatlarla gecikə bilər; BigQuery streaming əlavə xərc tələb edir |
| Həcm üzrə xərc | Açıq mənbədir — xərc yalnız infrastrukturdur, abunəliyə daxildir | Yüksək həcmlərdə indekslər, vacuum və avadanlıqla artır | BigQuery sorğulanan həcmə görə pul alır; GA-nın enterprise səviyyəsi bahalıdır |
| Sayt sürətinə təsir | Asinxron toplama, hesabatlandırma ayrıca sistemdə | Hesabatlar eyni verilənlər bazasında sifarişlərlə rəqabət apara bilər | Səhifədə üçüncü tərəf skripti (gtag.js) — əlavə JavaScript və xarici sorğular |
Tez-tez verilən suallar
ClickHouse saytımı və ya mağazamı yavaşladır?
Xeyr. ClickHouse səhifələrinizi çatdıran sistemdən ayrı sistemdə işləyir — arxitektura məhz belə qurulub. Trafik hadisələri asinxron göndərilir və hesabatlar mağazanın verilənlər bazasına heç vaxt toxunmur.
Niyə sadəcə Google Analytics istifadə etmirik?
Üç səbəb var. Data Google-da deyil, platformanın infrastrukturunda sizə məxsus qalır. Üçüncü tərəf izləmə cookie-lərinə ehtiyac yoxdur, buna görə GDPR uyğunluğu daha sadədir — 2022-ci ildə Avstriya, Fransa və İtaliya orqanları GA-nı GDPR-a uyğun saymadı. Hesabatlar isə saniyələr içində, tam və seçməsiz, saatlarla gecikmədən görünür.
ClickHouse ilə PostgreSQL arasında fərq nədir — niyə hər ikisi?
PostgreSQL tranzaksiya (OLTP) verilənlər bazasıdır: sifarişləri, ödənişləri və stoku düzgünlük zəmanəti ilə bir-bir emal edir. ClickHouse analitik (OLAP) verilənlər bazasıdır: hesabatlar üçün milyonlarla hadisəni eyni anda oxuyur. Bu ayrılıq ağır hesabatın müştərilərinizin sifarişlərini heç vaxt yavaşlatmaması deməkdir.
Trafik datam təhlükəsizdir və GDPR-a uyğundur?
Bəli — dizayn etibarilə. Statistika first-party-dir: Avropada platformanın infrastrukturunda saxlanılır, heç vaxt satılmır və reklam şəbəkələri ilə paylaşılmır. Yanaşma üçüncü tərəf izləmə cookie-lərindən istifadə etmir və istifadəçinin datası GDPR-a uyğun olaraq sorğu üzrə silinə bilər.
Statistika nə dərəcədə “real vaxt”dır?
Hadisə — ziyarət, klik, sifariş — baş verdikdən bir neçə saniyə sonra hesabatlarda görünür. Uzun dövrlər (aylar, illər) üzrə aqreqasiyalar isə yenə də saniyədən az müddətdə cavablanır, çünki ClickHouse məhz bu tip sorğular üçün qurulub.
Saytımda statistika olması üçün nəsə quraşdırmalıyam?
Lazım olmayacaq. Statistika modulu hazırlanma mərhələsindədir və platformanın bir hissəsi kimi qurulur: admin paneldə istifadəyə veriləndən sonra toplama dərc olunmuş saytlar üçün avtomatik başlayır — quraşdırılacaq skript və xarici hesablar olmadan.