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
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.

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.

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
Mayıs 23, 2026Yazı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?