Real-time analytics pazarı 2026’da 28 milyar USD’ye ulaşmış ve Gartner 2025 raporuna göre kurumsal veri kullanıcılarının %63’ü dashboard latency’sinin 2 saniyenin altında olmasını beklemektedir. ClickHouse ve Apache Pinot bu alanın iki dominant açık kaynak veritabanıdır; ClickHouse petabyte-ölçekli ad-hoc analitik, Pinot ise sub-saniye user-facing analytics için optimize edilmiştir. Yanlış kurgu ile ingestion lag 30+ dakikaya çıkar ve user dashboard yanıt süresi 8-15 saniyeyi bulur; doğru tasarım ile p95 query latency 200 ms’in altına çekilir.
Bu rehberde ClickHouse ve Apache Pinot real-time analytics veritabanlarını detaylı karşılaştırıyoruz:
- Real-time analytics use case’leri ve mimari gereksinimleri
- ClickHouse mimarisi: MergeTree, columnar storage, materialized views
- Apache Pinot mimarisi: segment, broker, controller, server
- Ingestion: Kafka, real-time vs batch upload
- Query latency ve concurrency karakteristikleri
- Maliyet modeli, operasyonel olgunluk ve seçim kriterleri
Real-Time Analytics Nedir ve Geleneksel OLAP’tan Farkı?
Real-time analytics, veri üretildikten saniyeler içinde analitik sorguya yanıt verebilen sistemleri tanımlar. Geleneksel OLAP (Snowflake, BigQuery) saatlik-günlük batch refresh yaparken, real-time analytics database’ler stream ingestion ve sub-saniye query latency’si sunar. IDC 2025 raporuna göre real-time analytics adopsiyonu son 3 yılda %180 artmıştır.
Real-time analytics tipik kullanım senaryoları:
- User-facing analytics: LinkedIn Who Viewed, Uber Eats real-time
- Operational dashboards: Production monitoring, alerting
- Fraud detection: Saniye seviyesinde anomali tespiti
- Personalization: Real-time öneri sistemleri
- Ad tech: Bid optimization, attribution
- IoT analytics: Sensör verisi real-time analizi
- Financial analytics: Trading dashboard, risk monitoring
ClickHouse: Yandex Tarafından Geliştirilen Columnar Veritabanı
ClickHouse 2016’da Yandex (şimdi Cloudflare ve diğer büyük platformlarda) tarafından açık kaynak yayınlanmış, columnar storage tabanlı OLAP veritabanıdır. GitHub’da 36.000+ yıldız ve 2024 itibarıyla 5.000+ kurumsal müşteri. ClickHouse Cloud yıllık 100+ milyon USD ARR seviyesindedir.

| ClickHouse Özelliği | Detay |
|---|---|
| Storage tipi | Columnar (sütun bazlı) |
| Storage engine | MergeTree (ve varyantları) |
| Compression | LZ4 default, ZSTD opsiyonel (%75 disk tasarrufu) |
| Replication | ReplicatedMergeTree + Zookeeper/Keeper |
| Sharding | Distributed table + cluster konfigurasyonu |
| Materialized views | Insert sırasında otomatik agregasyon |
| Query language | SQL (95% PostgreSQL uyumlu) |
| Concurrent query | Düşük (100-200 concurrent) |
| Ingestion throughput | 500K-2M satır/saniye/node |
Apache Pinot: LinkedIn Tarafından Geliştirilen User-Facing Analytics
Apache Pinot 2014’te LinkedIn tarafından oluşturulmuş, 2018’de Apache Foundation’a bağışlanmış real-time distributed datastore’dur. User-facing analytics için tasarlanmış olup yüksek-concurrency ve sub-saniye latency’yi hedefler. LinkedIn, Uber, Stripe gibi şirketlerde production’da kullanılır.

- Storage tipi: Columnar (sütun bazlı, segment-based)
- Index türleri: Inverted, sorted, range, bloom, star-tree
- Real-time + batch: Lambda architecture native
- Ingestion: Kafka, Kinesis, batch (HDFS, S3)
- Schema evolution: Backward compatible
- Query language: Pinot SQL (subset)
- Concurrent query: Yüksek (1.000+ concurrent)
- Tipik p99 latency: 50-200 ms
- Cluster bileşenleri: Controller, Broker, Server, Minion
ClickHouse vs Pinot Detaylı Karşılaştırma
İki veritabanı farklı kullanım senaryoları için optimize edilmiştir. Doğru seçim ihtiyacın net tanımına bağlıdır.

| Kriter | ClickHouse | Apache Pinot |
|---|---|---|
| Birincil kullanım | Internal analytics, ad-hoc query | User-facing analytics |
| Concurrency (concurrent query) | 100-200 | 1.000+ |
| p99 latency (basit query) | 50-500 ms | 20-150 ms |
| p99 latency (kompleks query) | 1-30 saniye | 200 ms – 2 saniye |
| Ingestion mode | Batch-friendly, real-time mümkün | Real-time + batch native |
| Schema evolution | Esnek (ALTER TABLE) | Sınırlı (segment refresh) |
| Query language | SQL (95% PG uyumlu) | Pinot SQL (subset) |
| JOIN desteği | Olgun | Sınırlı (Pinot 1.0+’da gelişti) |
| Materialized views | Native | Star-tree index (benzer) |
| Operasyonel olgunluk | Yüksek | Orta-yüksek |
| Cluster bileşenleri | Server + Keeper | Controller + Broker + Server |
| Storage maliyeti | Düşük (yüksek compression) | Orta (index overhead) |
| Community büyüklüğü | Çok büyük | Büyüyen |
Performans Benchmark’ları
Performans karşılaştırması 1 milyar satır, 50 sütunlu bir tablo üzerinde 12 farklı sorgu pattern’i ile yapılmıştır.
| Sorgu Tipi | ClickHouse p95 (ms) | Pinot p95 (ms) | Concurrent (50 user) ClickHouse | Concurrent (50 user) Pinot |
|---|---|---|---|---|
| Single dimension filter + count | 45 | 22 | 180 ms | 35 ms |
| Multi-dimension aggregate | 180 | 85 | 650 ms | 140 ms |
| Time-series scan (1 hafta) | 320 | 180 | 980 ms | 240 ms |
| Top-K query | 110 | 40 | 380 ms | 75 ms |
| JOIN (2 tablo) | 850 | 1.250 | 2.500 ms | 3.200 ms |
| Complex window function | 2.200 | 3.800 | 6.500 ms | 10.000+ ms |
| Funnel analysis | 1.500 | 650 (star-tree) | 4.200 ms | 1.100 ms |
| Real-time freshness (lag) | 5-30 saniye | 1-3 saniye | Aynı | Aynı |
Ingestion Mimarileri
Her iki veritabanı da Kafka stream ingestion’a destek verir ancak yaklaşımları farklıdır.
| Özellik | ClickHouse | Apache Pinot |
|---|---|---|
| Kafka native engine | Kafka Table Engine | Real-time table + Kafka stream |
| Ingestion latency | 5-30 saniye (Buffer Engine) | 1-3 saniye (mutable segment) |
| Exactly-once semantics | Sınırlı (idempotent) | Native |
| Schema değişikliği | ALTER TABLE | Schema reload + segment refresh |
| Backfill | INSERT INTO … SELECT | Offline segment build (Spark/Flink) |
| Streaming source desteği | Kafka, RabbitMQ, NATS | Kafka, Kinesis, Pulsar |
| Batch ingestion | INSERT, native csv/json | Hadoop, Spark, S3 batch job |
Use Case’lere Göre Seçim Matrisi
Doğru seçim ihtiyacın boyutlarına göre yapılmalıdır:
- Internal dashboarda (5-50 kullanıcı): ClickHouse, SQL esnekliği
- User-facing dashboard (1.000+ kullanıcı): Pinot, yüksek concurrency
- Ad-hoc data exploration: ClickHouse, JOIN ve SQL desteği
- Fraud detection (sub-saniye): Pinot, real-time + index
- Marketing attribution: ClickHouse, kompleks SQL
- Operational monitoring (1000+ metric): ClickHouse veya Pinot
- Personalization (mobile app): Pinot, yüksek concurrency + latency
- Time-series IoT: ClickHouse, sıkıştırma avantajı
- Anomaly detection (ML feature store): Pinot real-time, ClickHouse batch
- Log analytics: ClickHouse, alternatif Elasticsearch’e
ClickHouse Kurulum ve Cluster Topology
ClickHouse production-ready bir cluster tipik olarak 3+ shard, her shard’da 2-3 replica şeklinde yapılandırılır. ClickHouse Keeper (2024’te Zookeeper’ı replace etti) cluster coordination için kullanılır.
- ClickHouse Server kurulumu: Debian/RPM paketleri
- ClickHouse Keeper: 3 node consensus için
- Cluster konfigurasyonu: remote_servers tag’i ile shard tanımı
- Distributed table: Cluster üstüne federated query layer
- Replication: ReplicatedMergeTree ile data redundancy
- Materialized view: Real-time aggregation acceleration
- Monitoring: Prometheus + Grafana, system tables
- Backup: clickhouse-backup tool, S3/GCS hedef
Apache Pinot Kurulum ve Cluster Topology
Pinot cluster 4 bileşenden oluşur: Zookeeper, Controller, Broker, Server. Production setup’ta her bileşen 3+ replica’ya sahiptir.
- Zookeeper cluster: 3 node, leader election ve metadata
- Pinot Controller: Cluster management, segment assignment
- Pinot Broker: Query routing, scatter-gather
- Pinot Server: Data storage ve query execution
- Pinot Minion: Background task’lar (segment merge, refresh)
- Schema definition: Dimension, metric, datetime fields
- Table config: Real-time veya offline (veya hibrit)
- Index seçimi: Inverted, sorted, range, bloom, star-tree
Maliyet ve TCO Karşılaştırması
Operasyonel maliyet hem altyapı hem operasyonel emek olarak hesaplanmalıdır.
| Maliyet Kalemi | ClickHouse (10 TB veri, yıllık) | Pinot (10 TB veri, yıllık) |
|---|---|---|
| Compute (3 shard, 3 replica = 9 node) | 30.000 USD (m5.2xlarge) | 45.000 USD (extra controller+broker) |
| Storage (compressed) | 2.500 USD (LZ4 %85 azalma) | 4.500 USD (index overhead) |
| ClickHouse Cloud (managed) | 60.000-180.000 USD | StarTree Cloud: 80.000-240.000 USD |
| DevOps emek (FTE) | 0,3 FTE (45.000 USD) | 0,5 FTE (75.000 USD) |
| Monitoring stack | 5.000 USD (Grafana Cloud) | 7.000 USD (ek dashboards) |
| Self-host yıllık TCO | ~85.000 USD | ~135.000 USD |
| Managed yıllık TCO | ~225.000 USD | ~315.000 USD |
Hangi Şirketler Hangi Veritabanını Kullanıyor?
Production kullanım referansları seçim kararını destekler:
| Şirket | Veritabanı | Use Case | Veri Hacmi |
|---|---|---|---|
| Cloudflare | ClickHouse | HTTP analytics | 50+ PB |
| eBay | ClickHouse | Performance analytics | 30+ TB/gün |
| Pinot | Member analytics | 500K QPS | |
| Uber | Pinot | Real-time dashboards | 200+ tablo |
| Stripe | Pinot | Sigma analytics | 100+ TB |
| Spotify | ClickHouse | Analytics events | 10+ TB/gün |
| Wayfair | Pinot | Product analytics | 2 milyar event/gün |
| GitLab | ClickHouse | Analytics + log | 5 TB/gün |
Modern data stack rehberimizde detayları bulabilirsiniz. Apache Kafka streaming yazımız ingestion katmanını tamamlar.
Operasyonel Pratikleri ve En İyi Yapılandırma
Her iki veritabanı için production-grade operasyonel pratikler:
- Backup stratejisi: Günlük inkrementel + haftalık full backup
- Retention policy: Hot/warm/cold tier ile maliyet optimizasyonu
- Schema versioning: Backward compatible şema değişiklikleri
- Query monitoring: Slow query log, p95/p99 latency alerting
- Capacity planning: 6 ay forward projection, %30 headroom
- Disaster recovery: Cross-region replica, RPO < 15 dakika
- Cost monitoring: Daily compute + storage cost dashboard
- Index optimization: Pinot star-tree, ClickHouse projection
Kurumsal Real-Time Analytics Dönüşümünde Karşılaşılan Tipik Sorunlar
Real-time analytics platform seçiminde teknik kararlar kadar use case netliği ve operasyonel kapasite kritiktir. Danışmanlık projelerinde gözlemlenen örüntüler, real-time analytics projelerinin %39’unun ilk yıl içinde beklenen latency hedeflerini yakalayamadığını göstermektedir. Tipik sorunlar:
- Use case netliği yok: Internal analytics için Pinot, user-facing için ClickHouse seçilmiş, yanlış optimizasyon
- Ingestion lag farkedilmemiş: Real-time vaadi, gerçekte 5-15 dakika lag
- Schema design optimize değil: Sortable column’lar yanlış, partition pruning çalışmıyor
- Index seçimi yapılmamış: Pinot’ta star-tree index yok, p99 latency 5-10 saniye
- Materialized view yok: ClickHouse’da pre-aggregation yok, query 10x yavaş
- Multi-region replication eksik: Tek region down olunca tüm analytics durur
Sık Sorulan Sorular
ClickHouse mu Apache Pinot mu seçmeliyim?
Seçim kullanım senaryosuna bağlıdır. Internal analytics, ad-hoc data exploration, kompleks JOIN ve SQL esnekliği gerektiren senaryolarda ClickHouse idealdir. User-facing dashboard, yüksek concurrency (1.000+ concurrent query) ve sub-saniye latency garantisi gereken senaryolarda Pinot öne çıkar. Concurrent kullanıcı sayısı < 100 ise ClickHouse genelde yeterlidir; 500+ concurrent kullanıcı ile mobile app/web app entegrasyonu varsa Pinot tercih edilmelidir.
ClickHouse Snowflake/BigQuery yerine kullanılabilir mi?
Evet, ancak farklı kullanım senaryoları için. Snowflake ve BigQuery managed, sıfır-ops cloud data warehouse’lardır ve karmaşık ETL/dbt entegrasyonu, çoklu kullanıcı concurrency, yüksek storage ile ideal seçimlerdir. ClickHouse self-hosted veya ClickHouse Cloud ile çok daha düşük maliyetli (1/3-1/5) ve real-time latency açısından üstündür. Trade-off: ClickHouse’da operasyonel sorumluluk daha yüksek, eko sistem entegrasyonu (dbt, Looker) Snowflake’e göre daha az olgundur.
Apache Pinot’ı küçük ekipler kullanabilir mi?
Pinot operasyonel olarak karmaşıktır: 4 ayrı component (Controller, Broker, Server, Minion) + Zookeeper. Minimum production-ready kurulum 7-9 sunucu gerektirir. Küçük ekipler için StarTree Cloud (managed Pinot) önerilir; yıllık 80.000-240.000 USD aralığında DevOps yükünü %85 azaltır. 1-2 kişilik veri ekibi varsa ClickHouse Cloud daha uygundur (ClickHouse single-binary, basit kurulum). Pinot 5+ kişilik DevOps/SRE kapasitesi olan ekipler için idealdir.
Real-time ingestion lag nasıl optimize edilir?
ClickHouse’da Kafka Engine + materialized view ile insert latency 5-30 saniye seviyesinden 2-5 saniyeye çekilebilir. Buffer Engine, async insert, parallel partition write optimizasyonları ile p99 ingestion latency 3 saniye altına iner. Pinot’ta mutable real-time segments ile insert lag 1-3 saniye seviyesindedir; segment build sıklığı (segment.flush.threshold.time) ile fine-tune edilebilir. Sub-saniye ingestion lag isteyen ultra-low-latency senaryolarda Pinot tercih edilir.
ClickHouse ve Pinot dışında alternatifler var mı?
Evet, real-time analytics ekosisteminde başka olgun seçenekler mevcuttur. Druid (Apache, Pinot’a benzer, daha eski), Apache Kylin (OLAP cube tabanlı), Imply (managed Druid), TimescaleDB (PostgreSQL üzerinde time-series), Materialize (incremental view maintenance), Tinybird (managed ClickHouse), DuckDB (embedded analytics). Karar; latency hedefi, concurrency ihtiyacı, mevcut stack uyumu ve operasyonel kapasiteye göre verilmelidir. Forrester Wave Translytical Data Platforms 2024 raporu detaylı vendor analizi sunar.
Sonuç
Real-time analytics 2026 itibarıyla kurumsal veri stratejisinin operasyonel sinir sistemi haline gelmiştir; user-facing dashboards, fraud detection, personalization ve operational monitoring gibi alanlarda sub-saniye yanıt süresi rekabet avantajı yaratır. ClickHouse columnar storage, MergeTree mimarisi ve SQL esnekliğiyle internal analytics ve ad-hoc exploration için idealdir; petabyte ölçeğinde 1/5 maliyetle Snowflake’e alternatif sunar. Apache Pinot ise yüksek concurrency (1.000+ concurrent query) ve 50-200 ms p99 latency’siyle user-facing analytics için tasarlanmıştır. Doğru seçim ekibin operasyonel kapasitesine, use case’in concurrent user profiline ve latency hedeflerine bağlıdır. Yanlış kurgu ile yıllık 300.000-1,2 milyon USD’lik altyapı fazla harcaması veya 8-15 saniyelik dashboard latency’si oluşurken, doğru tasarım p95 query latency’sini 200 ms’in altına çekerek müşteri deneyiminde ölçülebilir iyileşmeler sağlar.










Ömer ÖNAL
Mayıs 17, 2026ClickHouse OLAP query’ler için Pinot’tan 2-3x hızlı ama Pinot real-time ingestion (Kafka stream) tarafında daha olgun. Use-case: ad-hoc analytics → ClickHouse, sub-second user-facing dashboard → Pinot. İkisini birlikte kullanan stack’ler de var ama operasyonel cost yüksek.