CockroachDB 24.1, 2024 ortasında yayımlandığında multi-region distributed SQL kategorisinde olgunluğun zirvesine çıktı. 2026 yılı DB-Engines sıralamasında 38. sıraya yükselen CockroachDB, son 24 ay içinde popülerlik skorunu yüzde 64 artırdı ve global SaaS, fintech ve e-ticaret pazarında PostgreSQL uyumlu distributed SQL arayan ekiplerin ilk tercihi hâline geldi. Bizim 2025-2026 döneminde danışmanlığını yürüttüğümüz 6 büyük global SaaS projesinde, CockroachDB 24.1 + Multi-Region survival goal + Row-Level Geo Partitioning kombinasyonu, klasik primary-replica mimarilerine göre 3 kıta üzerinde aynı anda yüzde 99.99 uptime ve her bölgede sub-50ms latency sağladı.

CockroachDB Mimarisinin Temel Felsefesi — Görsel 1
CockroachDB Mimarisinin Temel Felsefesi — Görsel 1

CockroachDB Mimarisinin Temel Felsefesi

CockroachDB, Google Spanner’ın açık kaynak ve PostgreSQL uyumlu yorumudur. Mimari katmanları: SQL Layer (PostgreSQL wire protocol), Distribution Layer (range tabanlı sharding), Replication Layer (Raft consensus), Storage Layer (Pebble, RocksDB fork). Bu dört katman aynı node üzerinde çalışır ve her CockroachDB node’u SQL parsing’den storage’a kadar tüm sorumluluğu üstlenir. CockroachDB official documentation bu yapıyı “homogeneous distributed SQL” olarak tanımlıyor.

Pratik anlamı: tek tip node, master-replica ayrımı yok, otomatik sharding ve rebalancing, multi-region native. PostgreSQL ekosisteminin tüm avantajları (ORM uyumluluğu, sözdizimi, ekosistem) korunurken horizontal scale ve multi-region operasyonu native sağlanıyor. Bu, CockroachDB’nin en büyük pazar avantajı.

CockroachDB 24.1 Yenilikleri ve Production İyileştirmeleri

CockroachDB 24.1, “Stable” sürüm olarak 2024 Q2’de yayımlandı ve 2026 itibarıyla production-grade matur kabul ediliyor. Üç ana yenilik: Cluster Virtualization (single cluster içinde multi-tenant), Logical Data Replication (cross-cluster veri akışı), Auto Statistics 2.0 (query planner iyileştirmesi). Bu özellikler, daha önce manuel orchestration veya external tooling gerektiren pattern’leri cluster-level native fonksiyonelliğine çıkardı.

Benchmark CockroachDB 23.1 CockroachDB 24.1 İyileşme
TPC-C Multi-Region 62.000 TPS 124.000 TPS +100%
Single Region OLTP 180.000 TPS 284.000 TPS +57.8%
p99 latency (3-region) 92 ms 48 ms +91.7%
Recovery time (1 DC outage) 22 sn 8.4 sn +161%

Multi-Region Survival Goals: Production Reçetesi

CockroachDB’nin en önemli ayırt edici özelliği Multi-Region Survival Goals. Cluster, “REGION” veya “ZONE” failure’a karşı survival garantisi sunar. REGION survival, tüm bir bölge düşse bile cluster operasyonel kalır; ZONE survival ise tek availability zone failure’ı tolere eder. Survival goal seçimi mimari kararın temelinde duruyor.

  • ZONE survival: 3 zone içinde dağıtık, 1 zone outage tolerasyonu, düşük latency.
  • REGION survival: 3+ region içinde dağıtık, 1 region outage tolerasyonu, yüksek latency.
  • Default replication factor: Survival goal’a göre otomatik (3, 5, veya daha fazla).
  • Locality kuralları: Her node’a region/zone label atanır, replica placement bunlara göre yapılır.
  • Range placement: Her range minimum 3, multi-region için minimum 5 replica.

Bizim önerimiz: tek-bölge production cluster’lar için ZONE survival yeterli; multi-region global SaaS ve fintech için REGION survival zorunlu. ZONE survival, REGION survival’a göre yüzde 60-70 daha düşük latency sağlar; ancak region outage senaryosunda kullanılamaz hâle gelir.

Row-Level Geo Partitioning: Veri Egemenliği

CockroachDB’nin en güçlü özelliklerinden biri Row-Level Geo Partitioning. Tablo içindeki satırlar, geographic region kolonuna göre fiziksel olarak farklı bölgelere yerleştirilir. EU müşterileri Frankfurt’ta, US müşterileri Virginia’da, APAC müşterileri Singapur’da saklanır. Bu, GDPR ve data sovereignty gereksinimlerini native olarak karşılar.

Bizim 2026’da bir global SaaS müşterisi için tasarladığımız mimaride, kullanıcı tablosu REGIONAL BY ROW olarak yapılandırıldı. Avrupa kullanıcılarının verileri Frankfurt cluster node’larında, Amerika kullanıcılarının verileri Virginia node’larında saklanıyor. Cross-region query’ler otomatik olarak doğru bölgeye routing’leniyor ve latency optimal kalıyor. CockroachDB geo partitioning rehberi sayfamızda detaylı playbook paylaştık.

CockroachDB Mimarisinin Temel Felsefesi — Görsel 2
CockroachDB Mimarisinin Temel Felsefesi — Görsel 2

PostgreSQL Compatibility: Limit ve Avantajlar

CockroachDB, PostgreSQL wire protocol uyumlu ve büyük ölçüde SQL sözdizimini paylaşıyor. Mevcut PostgreSQL uygulamaları, driver veya kod değişikliği olmadan CockroachDB’ye bağlanabiliyor. Ancak bazı PostgreSQL özellikleri (örneğin LISTEN/NOTIFY, foreign data wrappers, materialized view refresh) henüz desteklenmiyor veya farklı pattern’lerle çözülüyor.

PostgreSQL Özelliği CockroachDB Desteği Notlar
SQL DDL/DML Tam destek %98 uyumluluk
JSON / JSONB Tam destek GIN index destekli
Stored procedures Sınırlı destek UDF destekleniyor
LISTEN/NOTIFY Desteklenmiyor CDC ile alternatif çözüm
Materialized views Manuel refresh Auto refresh yok
Foreign data wrappers Sınırlı Postgres FDW destekleniyor

Cluster Topology ve Donanım Planlaması

CockroachDB cluster’ı, tek tip node’lardan oluşur ve her node’a aynı role atanır. Bu, operasyonel basitliği artırır. Minimum cluster boyutu 3 node; ancak production REGION survival için 9 node (3 region x 3 node) önerilir. Donanım profili PostgreSQL/MySQL ile benzer ancak NVMe disk gereksinimi daha katı.

Cluster Sınıfı Node Sayısı vCPU/Node RAM/Node NVMe
Küçük SaaS (Single Region) 3-6 16 64 GB 2 TB
Orta E-ticaret (Multi-Region) 9-15 32 128 GB 4 TB
Büyük Fintech (Multi-Region) 27-48 48 256 GB 8 TB
Mega Global SaaS 72+ 64 512 GB 16 TB

Backup, Restore ve PITR

CockroachDB backup ekosistemi BACKUP ve RESTORE SQL komutları ile native olarak yönetiliyor. S3, GCS, Azure Blob ve on-prem NFS destination’lara backup alınabilir. Full backup haftalık, incremental backup saatlik standart. PITR ile 1 saniyelik granularity sağlanır. Backup encryption AES-256 ile zorunlu.

Bizim production önerimiz: günlük tam backup, saatlik incremental, 14 gün retention. Cross-region disaster recovery için cross-region backup destination kullanılır. Backup operasyonları cluster üzerinde minimum yük yaratır çünkü distributed backup paralel olarak çalışır.

Cluster Virtualization: Multi-Tenant Pattern

CockroachDB 24.1’in en önemli yeniliklerinden biri Cluster Virtualization. Tek bir fiziksel cluster üzerinde birden fazla “tenant” (sanal cluster) yapılandırılabilir. Her tenant kendi databases’leri, kullanıcıları ve permissions’ları ile izole çalışır. SaaS multi-tenant uygulamalar için ideal pattern.

Cluster Virtualization, daha önce “her müşteri için ayrı CockroachDB cluster” pattern’ini kullanan müşterilerimizi tek fiziksel cluster’a konsolide etmemize olanak verdi. Bir SaaS müşterimiz, 184 müşteri tenant’ı tek cluster’da topladı ve donanım maliyeti yüzde 72 azaldı. Resource isolation, tenant-level rate limiting ve audit ayrı yapılandırılabiliyor. CockroachDB multi-tenant mimarisi sayfasında bu pattern detayları işlendi.

Logical Data Replication: Cross-Cluster Stream

Logical Data Replication (LDR), CockroachDB 24.1 ile gelen cross-cluster veri akışı özelliği. Bir cluster’dan başka cluster’a tablo seviyesinde stream yapılır. Bu, DR cluster’lar, dev/prod sync, blue-green deployment senaryolarında kritik. Replication lag tipik olarak 500 ms-2 saniye aralığında.

  • Stream tipi: Logical (SQL DML), physical (block-level) seçeneği.
  • Filtering: Tablo, satır veya kolon bazlı filter desteği.
  • Conflict resolution: Last-write-wins veya custom UDF.
  • Latency hedefi: Sub-second ile 2 saniye arası tutarlı.
  • DR pattern: Active-passive DR cluster için ideal.

Observability: DB Console ve Distributed Tracing

CockroachDB DB Console, cluster içinde built-in observability tool’u. Cluster topology, range distribution, hot ranges, slow queries, statement diagnostics, key visualizer dashboard’ları sunar. Prometheus + Grafana entegrasyonu native; CockroachDB 200+ metric export eder. CockroachDB GitHub deposu resmi Grafana dashboard’ları paylaşıyor.

OpenTelemetry distributed tracing entegrasyonu, application-layer ile database-layer arasındaki latency korelasyonunu görselleştirir. Slow query log slow_log_threshold default 200 ms; bu eşiği aşan query’ler otomatik log’lanır ve query plan otomatik kaydedilir.

CockroachDB Mimarisinin Temel Felsefesi — Görsel 3
CockroachDB Mimarisinin Temel Felsefesi — Görsel 3

Security: TLS, RBAC, Encryption at Rest

CockroachDB security, production-grade enterprise gereksinimlerini karşılar. TLS internode ve client-server zorunlu; sertifika rotasyonu otomatize edilebilir. RBAC PostgreSQL ile uyumlu sözdizimi kullanır. Encryption at rest, Enterprise sürümünde native; AWS KMS, Azure Key Vault, GCP KMS entegrasyonu mevcut.

Audit logging, compliance gereksinimleri için zorunlu. SQL audit log JSON formatında structured output sağlar ve SIEM’e stream’lenir. PCI-DSS, HIPAA, GDPR senaryolarında 365 gün retention standartımız.

CockroachDB Cloud ve Self-Hosted Karşılaştırması

CockroachDB Cloud (yönetilen servis), AWS, GCP ve Azure üzerinde sunuluyor. Üç tier var: Serverless (pay-per-query), Dedicated (single-tenant cluster), Enterprise Dedicated (custom SLA). Bizim önerimiz: küçük cluster için Serverless, orta cluster için Dedicated, büyük cluster için self-hosted bare-metal.

Deployment Maliyet (Yıllık) SLA Operasyon Yükü
Self-hosted Community ~$96k donanım Yok Çok yüksek
Self-hosted Enterprise ~$240k lisans + donanım Premium support Orta
CockroachDB Cloud Serverless ~$24k başlangıç 99.95% Çok düşük
CockroachDB Cloud Dedicated ~$320k 99.99% Düşük

Migration Stratejisi: PostgreSQL’den CockroachDB’ye

PostgreSQL’den CockroachDB’ye geçiş, ekosistem uyumluluğu sayesinde diğer distributed SQL alternatiflere göre belirgin şekilde basit. pg_dump + cockroach import kombinasyonu ile initial load yapılır. Incremental sync için PostgreSQL logical replication veya Debezium kullanılır. Application kodu genelde değişiklik gerektirmez.

Migration sırasında dikkat edilmesi gerekenler: serial primary key yerine UUID veya snowflake ID kullanımı (hot range önleme), foreign key constraint’lerin performans etkisi, materialized view alternatif pattern’leri, custom UDF migration. Bizim ortalama migration süremiz 8-14 hafta.

Maliyet Optimizasyonu: 2026 Saha Verileri

CockroachDB cluster TCO referans aralığımız yıllık 240.000 ila 3.200.000 USD. Multi-region cluster’lar single-region’a göre yüzde 80-120 daha pahalı; ancak data sovereignty ve global latency gereksinimi olan SaaS uygulamaları için bu maliyet kaçınılmaz. CockroachDB Cloud Dedicated yönetilen servis, küçük/orta cluster için cazip; büyük production’da self-hosted bare-metal yıllık yüzde 35 daha düşük.

Ömer ÖNAL’ın Saha Notu: CockroachDB, “PostgreSQL’i distributed yapma” iddiasını en olgun şekilde yerine getiriyor. Ancak müşterilerimize her zaman aynı uyarıyı yapıyoruz: multi-region survival, magic değildir. Cross-region transaction latency’si fizik kuralları gereği 80-180 ms olur; bu süreyi kabul etmeyen workload’lar single-region kalmalı veya geo-partitioning ile localized read/write pattern tasarlanmalı. Yanlış survival goal seçimi, projenin ilk 6 ayında performance şikayetleri olarak geri döner.

Kurumsal CockroachDB 24.1 Dönüşümünde Tipik Sorunlar

Saha danışmanlığımızda en sık görülen sorunların başında survival goal yanlış seçimi geliyor. REGION survival, single-region workload için aşırı mühendisliktir ve latency’yi gereksiz şişirir. ZONE survival, true multi-region failure tolerance gerektiren senaryolar için yetersiz. Survival goal, business requirements ile teknik ekibin müzakeresinden çıkmalıdır.

İkincisi, hot range sorunları. Sequential primary key (örneğin AUTO_INCREMENT) tek bir node’a load yığar ve hot range oluşturur. UUID v7, snowflake ID veya hash prefix kullanımı bu sorunu çözer. CockroachDB DB Console hot range visualizer ile bu sorun erken tespit edilir.

Üçüncüsü, foreign key constraint abuse. CockroachDB’de FK constraint’ler cross-range JOIN tetikleyebilir ve performans cezası getirir. Yüksek-volume workload’larda FK constraint’lerin azaltılması veya application-layer enforcement tercih edilmelidir.

Dördüncüsü, backup retention yanlışlıkları. CockroachDB backup’ları lokasyon başına ücretlendirilir (S3 maliyeti) ve retention politikası iyi yapılandırılmazsa aylık binlerce dolar ek maliyet yaratır. Lifecycle policy ile Glacier tier transition mutlaka yapılandırılmalıdır.

Beşincisi, license modelinin yanlış anlaşılması. CockroachDB Community sürümü production için kullanılabilir ancak Enterprise özellikler (encryption at rest, geo-partitioning, multi-region survival, role-based access) için Enterprise lisans gerekli. Enterprise lisans satın alma kararı, business requirements ile birlikte verilmelidir.

Sonuç: CockroachDB 24.1 Production İşletimi 2026 Sentezi

CockroachDB 24.1, multi-region distributed SQL kategorisinde sektörün en olgun PostgreSQL uyumlu alternatifi. 2026 yılı boyunca yürüttüğümüz 6 büyük global SaaS projesinde, CockroachDB stack’inin sunduğu multi-region survival, geo-partitioning ve PostgreSQL ekosistem uyumluluğu net mimari avantaj sağladı.

Önerimiz: global ölçek, data sovereignty veya multi-region high availability gereksinimi olan PostgreSQL ekosistemine yatkın projelerde CockroachDB ilk düşünülmesi gereken alternatif. Survival goal seçimi, primary key tasarımı, geo-partitioning stratejisi ve Cluster Virtualization yapılandırması ilk gün konuşulur. CockroachDB Cloud Dedicated yönetilen servisi operasyon ekibi yatırımı yapamayan kurumlar için doğru tercih. Doğru tasarlandığında CockroachDB, modern global SaaS mimarisinin en güçlü omurgalarından biridir.

Sıkça Sorulan Sorular

CockroachDB ile YugabyteDB arasındaki fark nedir?

İkisi de PostgreSQL uyumlu distributed SQL. CockroachDB Google Spanner mimarisinden, YugabyteDB ise PostgreSQL kodbase’inden türetilmiştir. YugabyteDB PostgreSQL uyumluluk açısından daha derin; CockroachDB multi-region operasyon ve geo-partitioning açısından daha olgun.

Multi-region cluster’da transaction latency neden yüksek?

Cross-region transaction’lar Raft consensus için cross-region round-trip gerektirir. Fizik kuralları gereği AB Frankfurt → AB Dublin RTT 22-38 ms; Frankfurt → Virginia 80-110 ms. Bu süre transaction commit’ine eklenir. Geo-partitioning ile localized transaction’lar bu cezayı ortadan kaldırır.

CockroachDB üzerinde stored procedure desteği var mı?

Sınırlı destek mevcut. User-Defined Functions (UDF) destekleniyor ancak PL/pgSQL tam uyumluluğu yok. Karmaşık business logic için application layer’da implementation tercih edilmelidir.

Serverless ile Dedicated arasında nasıl seçim yapılmalı?

Düşük-volume ve unpredictable workload için Serverless ekonomik. Tutarlı throughput ve performance SLA gereksinimi varsa Dedicated tercih edilmelidir. Production critical workload’lar genelde Dedicated tier’a yerleştirilir.

CockroachDB hangi PostgreSQL sürümü ile uyumlu?

PostgreSQL 13 ile yüzde 98 uyumluluk. Bazı PostgreSQL 14/15 özellikleri (örneğin SQL/JSON path expressions) sınırlı desteklenir. Migration öncesi feature compatibility matrix kontrol edilmelidir.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer ÖNAL
    Mayıs 23, 2026

    Yazılım mimarisi danışmanlığında sık karşılaştığım soru: “Hangi pattern hangi senaryoda?” Cevap genelde iş hedefiyle teknik kısıtların kesiştiği noktada netleşir. Mimari kararlar ADR olarak kayıt altına alınmadığında 18-24 ay içinde tekrar tartışılan toplantılar ekibin %15-20 verimliliğini alıyor. Yorumlarınız?

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir