ClickHouse — platform yığınındaki gerçek zamanlı analitik motoru
4buildsite yığını, yüksek hacimli analiz için özel olarak geliştirilmiş sütunlu bir veritabanı olan ClickHouse'u içerir. Platformun trafik ve satış istatistikleri modülünü (geliştirme aşamasında) onun üzerine kuruyoruz: veriler sizin kalır, raporlar ayrı bir sistemde hesaplanır ve siteniz bundan etkilenmez — mimari bu şekilde tasarlanmıştır.
ClickHouse nedir ve neden kullanıyoruz
ClickHouse, dünyanın en büyük web analizi sistemlerinden biri olan Yandex.Metrica için Yandex'te geliştirilmiş, 2016'da Apache 2.0 lisansıyla açık kaynak olarak yayımlanmış OLAP (çevrimiçi analiz) türünde sütunlu bir veritabanıdır. Tek bir iş için yapılmıştır ve onu olağanüstü iyi yapar: devasa veri hacimleri üzerinde toplamalar. 4buildsite mimarisinde ClickHouse, istatistik katmanı için seçilen motordur: her ziyaret, tıklama ve sipariş analiz edilebilecek bir olaya dönüşür.
Sır, sütun bazlı depolamadadır: ClickHouse her “satırı” bütünüyle okumak yerine yalnızca raporun ihtiyaç duyduğu sütunları okur ve bunları büyük bloklar halinde vektörel olarak işler. Bu yüzden “dün her sayfada, her kaynaktan kaç ziyaretçi aldık” gibi bir soru, milyonlarca olay üzerinde de yanıtlanabilir — klasik, satır odaklı bir veritabanının çok daha zor çözdüğü bir iş.
Bu, niş bir teknoloji değil: Cloudflare onu küresel ölçekte HTTP trafiği analizi için, Uber, eBay ve Spotify ise devasa hacimlerde analitik ve log işleme için kullanır. 4buildsite'ta aynı motor platform yığınının bir parçasıdır — bir veri mühendisleri ekibi tutmanıza gerek kalmadan.
Gerçek zamanlı istatistikler — modül nasıl tasarlandı
Platformun istatistik modülü geliştirme aşamasındadır ve mimarisi basittir: trafik olayları asenkron olarak toplanır ve sayfaları sunan sunuculardan tamamen ayrı biçimde ClickHouse'a yazılır. Ağır bir üçüncü taraf izleme betiği yoktur — toplama minimaldir ve first-party'dir.
panel.4buildsite.net'teki raporlar doğrudan ClickHouse'ta hesaplanacak: sayfalara göre trafik, ziyaretçi kaynakları, dönüşümler, ürün bazında satışlar. Sık kullanılan toplamalar her yazımda materialized view'lar aracılığıyla önceden hesaplanır; böylece panel her açılışta ağır hesaplama yapmaz — her baktığınızda ağır bir hesaplama başlatılmaz.
- Canlı trafik: ziyaretler, sayfalar, kaynaklar ve cihazlar — toplamadan sonra sorgulanabilir
- Mağazanız için ürün bazında satışlar, siparişler ve dönüşümler, büyük hacimli olaylar üzerinde toplanır
- Düşük maliyetle aylar ve yıllar süren geçmiş — sütunlu sıkıştırma, depolamayı ham veriye göre birkaç kat azaltır
- Toplama asenkron, raporlama ayrı bir sistemde çalışır
PostgreSQL + ClickHouse: neden ikisini birden kullanıyoruz
Platform yığını iki veritabanını birleştirir, çünkü temelden farklı işler yaparlar. PostgreSQL işlem defteridir (OLTP): siparişler, ödemeler, stok, kullanıcı hesapları — işlem garantileriyle tek tek mükemmel doğru olması gereken operasyonlar. ClickHouse analiz salonudur (OLAP): trafik ve satışlarla ilgili sorularınızı yanıtlamak için milyonlarca olayın aynı anda okunması.
Ağır raporlar siparişleri işleyen aynı veritabanında çalışsaydı, her rapor o anda ödeme yapan müşterilerle rekabet ederdi. OLTP/OLAP ayrımı bu çatışmayı ortadan kaldırır: müşterinin siparişi sizin raporunuzu beklemez, raporunuz da başkalarının siparişlerini beklemez. Her motor tam olarak yapmak üzere geliştirildiği işi yapar.
- PostgreSQL: siparişler, Stripe ödemeleri, stok, müşteriler — işlemsel doğruluk
- ClickHouse: trafik olayları, raporlar, istatistikler — hacimde toplama
- Tasarım, ilgili işlemsel verilerin ClickHouse'a olay olarak ulaşmasını öngörür; böylece satış raporları mağazayı sunan veritabanına asla dokunmaz
Kendi analitiğiniz, gizlilik dostu — Google Analytics yerine
İstatistik modülünün ilkesi: sitenizin verileri platform altyapısında kalır. Google'a veya diğer reklam ağlarına gönderilmez, satılmaz ve harici kullanıcı profilleriyle birleştirilmez. Bu, kelimenin tam anlamıyla first-party analitiktir: ziyaretçileriniz hakkındaki veriler sizindir.
Yaklaşım üçüncü taraf izleme çerezleri kullanmadığı için GDPR uyumu çok daha basit hale gelir. Bağlam önemli: 2022'de Avusturya, Fransa ve İtalya'nın veri koruma otoriteleri, verilerin ABD'ye aktarılması nedeniyle Google Analytics kullanımının GDPR'ye aykırı olduğunu ilan etti. Avrupa'da barındırılan kendi analitiğinizle bu risk kategorisi baştan ortadan kalkar.
Doğrudan bir pratik fayda da var: ClickHouse'ta hesaplanan raporlar örneklenmez ve ücretsiz analitik araçlarının standart raporlarında olduğu gibi saatler sonra görünmez. Eksiksiz rakamlar.
Mağaza ve marketplace raporları — modülün sunacakları
Bir online mağaza için ClickHouse, önemli sorulara yanıt vermek anlamına gelecek: hangi ürünler satılıyor, satın alan müşteriler hangi kaynaklardan geliyor, sepetler nerede terk ediliyor. Çok satıcılı bir marketplace için aynı toplamalar tüm siparişler üzerinde çalışacak: satıcı bazında hacim, komisyonlar, kategoriye göre en çok satan ürünler — elle dışa aktarım ve elektronik tablo olmadan.
Ölçekte de işler ucuz kalır. Sütunlu sıkıştırma verileri ham formata göre birkaç kat küçültür; böylece yıllarca süren geçmişi düşük depolama maliyetiyle tutarsınız. Trafik binlerden milyonlarca olaya çıktığında da toplamalar yönetilebilir kalır — motor sonradan uyarlanmadı, baştan milyarlarca satır için tasarlandı.
Avantajlar ve sınırlamalar
Avantajlar
- Büyük hacimli olaylar üzerinde toplamalar — kolonlu depolama ve vektörel işleme.
- Analitik, sayfaları sunan sistemden ayrı bir sistemde çalışır.
- Trafik verileri sizin kalır, platform altyapısında — Google'a veya reklam ağlarına aktarım yok.
- Üçüncü taraf izleme çerezi yok — daha basit GDPR uyumu.
- Güçlü sütunlu sıkıştırma — düşük depolama maliyetiyle yıllarca süren geçmiş.
- Açık kaynak (Apache 2.0), hacim başına lisans yok — trafik arttığında maliyet patlamaz.
Sınırlamalar
- İşlemsel bir veritabanı değildir — tek tek satırları değiştirmek veya silmek ağır bir işlemdir; bu yüzden siparişler ve ödemeler PostgreSQL'de durur.
- Büyük toplu yazmalar için optimize edilmiştir; çok sayıda küçük ve sık insert batching gerektirir — platform bunu yönetir, ancak motorun gerçek bir sınırıdır.
- Karmaşık JOIN'ler PostgreSQL'dekinden daha az esnektir — olay şeması baştan analiz için tasarlanmalıdır.
- Tek satır arama (point lookup), indeksli bir OLTP veritabanından yavaştır — mağazanın ana veritabanının yerini almaz.
Kısa değerlendirme
ClickHouse, hacimli analitik için doğru seçimdir: kendi verilerinizle trafik ve satış istatistikleri. Siparişler, ödemeler ve stok için PostgreSQL kalır — bu yüzden 4buildsite yığını ikisini birleştirir, her biri en iyi olduğu işte. ClickHouse üzerine kurulan istatistik modülü geliştirme aşamasındadır.
Teknik özellikler tablosu
| Yetenek | Sınır / eşik | Tipik kullanım | |
|---|---|---|---|
| Analitik toplamalar | Büyük hacimli olaylarda sütunlu ve vektörel işleme | Tek satır aramada yavaş — OLTP lookup'ları için değil | Trafik ve satış raporları (istatistik modülü, geliştirme aşamasında) |
| Olay alımı | Büyük hacimler, toplu yazılır | Küçük ve sık insert'ler batching / async insert ister | Sayfa görüntüleme, tıklama, sipariş toplama |
| Depolama ve sıkıştırma | Sütunlu sıkıştırma (LZ4/ZSTD), ham hacmin birkaç kat altında | Çok rastgele veriler daha az sıkışır | Düşük maliyetle aylar ve yıllar süren olay geçmişi |
| Güncelleme ve silme | Ara sıra yapılan düzeltmeler için asenkron mutation'lar | Tek tek satırlarda sık UPDATE için uygun değil | GDPR silmeleri (bir kullanıcının verileri, talep üzerine) |
| Materialized view'lar | Her yazımda önceden hesaplanan toplamalar | Toplamaların rapor başına önceden tanımlanması gerekir | Anında paneller: güne, ürüne, kaynağa göre satışlar |
| Gerçek zamanlı | Olaylar gerçekleştikten sonra sorgulanabilir hale gelir | Milisaniye düzeyinde bir streaming sistemi değildir | Canlı trafik ve dönüşüm istatistikleri |
Analitik için ClickHouse, PostgreSQL ve Google Analytics / BigQuery karşılaştırması
| Kriter | ClickHouse (4buildsite) | PostgreSQL (analitik için) | Google Analytics / BigQuery |
|---|---|---|---|
| Büyük hacimde toplama | Milyonlarca satır üzerinde toplama | On milyonlarca satırda belirgin biçimde düşer (satır bazlı depolama) | BigQuery büyük veri kümelerini işler; GA4'ün serbest sorgusuz, önceden toplanmış standart raporları var |
| Veri sahipliği / GDPR | Verileriniz, platform altyapısında, Avrupa'da | Verileriniz, kendi sunucularınızda | Veriler Google'da; GA'nın ABD'ye aktarımları 2022'de AB otoritelerince GDPR'ye aykırı ilan edildi |
| Çerezler ve onay | Üçüncü taraf izleme çerezi yok | Kendi uygulamanıza bağlı | İzleme için onay bannerı gerektirir |
| Gerçek zamanlı | Veriler toplamadan sonra sorgulanabilir | Mümkün, ancak ağır raporlar işlemsel veritabanını yükler | GA4 standart raporları saatler gecikmeyle görünebilir; BigQuery streaming ekstra maliyetlidir |
| Hacimde maliyet | Açık kaynak — maliyet yalnızca aboneliğe dahil altyapıdır | Büyük hacimlerde indeksler, vacuum ve donanımla artar | BigQuery sorgulanan hacme göre ücretlendirir; GA kurumsal sürümü pahalıdır |
| Site hızına etkisi | Asenkron toplama, ayrı sistemde raporlama | Raporlar aynı veritabanında siparişlerle rekabet edebilir | Sayfada üçüncü taraf betik (gtag.js) — ek JavaScript ve harici istekler |
Sık sorulan sorular
ClickHouse sitemi veya mağazamı yavaşlatır mı?
Hayır. ClickHouse, sayfaları sunan sistemden ayrı bir sistemde çalışır — mimari bu şekilde tasarlanmıştır. Trafik olayları asenkron gönderilir ve raporlar mağazanın veritabanına dokunmaz.
Neden doğrudan Google Analytics kullanmıyorsunuz?
Üç neden. Veriler Google'da değil, platform altyapısında sizin kalır. Üçüncü taraf izleme çerezlerine ihtiyacınız yoktur; dolayısıyla GDPR uyumu daha basittir — 2022'de Avusturya, Fransa ve İtalya'daki otoriteler GA'yı GDPR'ye aykırı ilan etti. Ve raporlar eksiksiz görünür; örneklenmez.
ClickHouse ile PostgreSQL arasındaki fark nedir — neden ikisi birden?
PostgreSQL işlemsel veritabanıdır (OLTP): siparişleri, ödemeleri ve stoğu doğruluk garantileriyle tek tek işler. ClickHouse analitik veritabanıdır (OLAP): raporlar için milyonlarca olayı aynı anda okur. Ayrım, ağır bir raporun müşterilerinizin siparişlerini etkilememesi demektir.
Trafik verilerim güvende ve GDPR'ye uygun mu?
Evet — tasarım gereği. İstatistikler first-party'dir: platform altyapısında, Avrupa'da durur, satılmaz ve reklam ağlarıyla paylaşılmaz. Yaklaşım üçüncü taraf izleme çerezi kullanmaz ve bir kullanıcının verileri GDPR uyarınca talep üzerine silinebilir.
İstatistikler ne kadar “gerçek zamanlı”?
Bir olay — ziyaret, tıklama, sipariş — gerçekleştikten sonra raporlarda görünür. Uzun dönemler (aylar, yıllar) üzerindeki toplamalar da yanıtlanır; çünkü ClickHouse tam olarak bu tür sorgular için geliştirilmiştir.
Sitemde istatistik görmek için bir şey yapılandırmam gerekir mi?
Gerekmeyecek. İstatistik modülü geliştirme aşamasındadır ve platformun bir parçası olarak inşa edilmektedir: yönetim panelinde etkinleştiğinde, yayımlanmış siteler için toplama otomatik olarak başlar — kurulacak betik ve harici hesap olmadan.