Replikasyon, bir sistemdeki verilerin veya çalışma yüklerinin aynı anda birden fazla kopyasının tutulması ve değişikliklerin bu kopyalara aktarılması sürecidir. Amaç; veri kaybını en aza indirmek (RPO), hizmet kesintisini kısaltmak (RTO), ölçeklenebilirlik sağlamak ve felaket anında hızla ayağa kalkmaktır. Kurumsal süreklilik planlarında replikasyon; yedekleme, alternatif saha ve felaket kurtarma stratejileriyle birlikte temel bir yapı taşıdır.
Replikasyonun Temel Türleri
Senkron vs. Asenkron:
- Senkron replikasyonda yazma işlemi, kopyalara başarıyla işlenmeden tamamlanmış sayılmaz; bu, veri kaybını minimize eder ama gecikmeyi artırabilir.
- Asenkron replikasyonda değişiklikler sıraya alınıp daha sonra aktarılır; RPO > 0 olabilir ancak performans genellikle daha yüksektir.
Bulut ve sanallaştırma platformlarında seçilecek replikasyon yöntemi, hedeflenen RPO/RTO ve uygulama gecikme toleransına göre belirlenir. AWS’nin DR kılavuzu; backup & restore, pilot light, warm standby ve multi-site active/active gibi mimarileri RPO/RTO, maliyet ve karmaşıklığa göre karşılaştırır.
Fiziksel vs. Mantıksal:
- Fiziksel replikasyon; veri dosyası/segment seviyesinde kopyalama (ör. PostgreSQL WAL/streaming).
- Mantıksal replikasyon; satır/sorgu değişikliklerinin olay olarak aktarılmasıdır (ör. MySQL binlog ROW/STATEMENT, SQL Server transactional, MongoDB oplog).
Veritabanı Dünyasında Replikasyon
SQL Server
SQL Server; Snapshot, Transactional ve Merge gibi birden çok replikasyon modeli sunar. En yaygın senaryolarda Transactional Replication, yayıncıdan (publisher) abonelere (subscriber) yaptığı değişiklikleri sürekli aktarır ve düşük gecikmeli okuma ölçeklemesi sağlar. Peer-to-peer topolojilerle yazma yükleri dağıtılabili
PostgreSQL
PostgreSQL, write-ahead log (WAL) üzerinden streaming replikasyonu destekler. Asenkron/yarı-senkron modlar, gecikme ve veri kaybı riskini dengelemek için yapılandırılabilir. İlgili parametreler wal_level, max_wal_senders, synchronous_standby_names gibi ayarlarla yönetilir.
MySQL
MySQL replikasyonu, binary log temellidir; ROW ve STATEMENT gibi formatlar bulunur. GTID (Global Transaction Identifier) ile otomatik konumlandırma ve kolay failover sağlanır. Semisynchronous replication, en az bir replica’ya yazımın ulaştığını garanti ederek veri kaybını azaltır. Multi-source replikasyon ve gecikmeli replica gibi gelişmiş seçenekler de mevcuttur.
MongoDB
MongoDB’de replica set mimarisi; bir primary ve birden çok secondary düğümden oluşur. Primary yazmaları kabul eder, secondary’ler oplog’dan çekerek çoğaltır. Seçim (election) mekanizması ile primary arızasında otomatik failover gerçekleşir. Coğrafi olarak dağıtılmış mimariler (birden fazla veri merkezi) için gecikme, oy hakkı ve read preference ayarları kritik önemdedir. Düğüm durumları (PRIMARY, SECONDARY, ARBITER vb.) operasyonel görünürlük sağlar.
Sanallaştırma ve İş Yükü Replikasyonu
VMware vSphere Replication
vSphere Replication, host-based, asenkron VM replikasyonu sağlar ve 5 dakika ile 24 saat arasında ayarlanabilir RPO sunar. vCenter ile entegredir, şifreleme/sıkıştırma ve VSS quiescing desteği ile uygulama tutarlılığına yardımcı olur. Point-in-time kurtarma noktalarıyla istenmeyen değişikliklerden geri dönüş mümkündür.
Veeam ile Replikasyon
Veeam, vSphere ortamlarında VM replikasyonu ve failover/failback senaryoları için orkestrasyon sunar; replikasyon gecikmesi, bant genişliği optimizasyonu ve çoklu site topolojileri için ayrıntılı rehberlik sağlar.
Azure Site Recovery (ASR)
ASR; Azure VM’ler, VMware/Hyper-V VM’ler ve fiziksel sunucular için replikasyon + otomatikleştirilmiş kurtarma planları sağlar. Uygulama gruplama, test failover ve planlı/plansız failover senaryoları desteklenir.
AWS’de DR Seçenekleri
AWS; S3 CRR, RDS read replica, Aurora global database, DynamoDB global tables gibi hizmetlerle bölge-ötesi (cross-region) asenkron replikasyon sunar. DR stratejileri (backup-restore, pilot light, warm standby, active/active) hedef RPO/RTO’ya göre seçilir.
Tasarımda Dikkat Edilecek Noktalar
· İş hedeflerini netleştirin:
Hangi uygulamalar için hedef RPO/RTO değerleri nelerdir? Bu değerler, senkron/asenkron ve altyapı seçimlerini belirler. NIST’in süreklilik rehberi, etki analizi (BIA), alternatif site ve test süreçlerini vurgular
· Tutarlılık ve kesinti toleransı:
Uygulama düzeyinde tutarlılık (ör. VSS, application-consistent snapshot), ağ gecikmesi ve yazma yoğunluğu değerlendirilmelidir. vSphere Replication’da quiescing ve çoklu kurtarma noktaları örnek yaklaşımlardır.
· Operasyon ve otomasyon:
Failover planlarının otomasyonu (ASR runbook’ları, AWS Route 53 tabanlı yönlendirme, otomatik promotion), düzenli test failover ve gözlemleme şarttır.
· Güvenlik:
Replikasyon trafiğinin şifrelenmesi, erişim yetkileri ve gizli anahtar yönetimi zorunludur (MySQL binlog/relay log şifreleme, bağlantıların TLS ile güvenceye alınması vb.)
· Versiyonlama & geri dönüş:
Sürekli replikasyon; hatalı veri/zararlı içeriği de kopyalayabilir. Bu yüzden point-in-time geri dönüş seçenekleri (ör. VM tarafında PIT, veritabanlarında PITR) ve sürümleme (S3 Versioning) önemlidir.
En İyi Uygulamalar
- Hedef RPO/RTO’yu iş birimleriyle yazılı hale getirin.
- Kritik sistemler için senkron veya yakın-senkron tercih edin; geri kalanlarda asenkron ile maliyeti optimize edin
- Şifreleme, erişim kontrolleri ve gizli anahtar yönetimini standartlaştırın (ör. MySQL replication TLS/binlog encryption).
- Düzenli test failover yapın; otomasyon (ASR runbook’ları, Route 53 health check) kurun.
- PIT kurtarma ve sürümleme seçeneklerini aktif edin (VM/DB/S3).
- İzleme: gecikme (replication lag), kuyruklar, seçim/election olayları ve RPO ihlalleri için alarmlar kurun.
Siz de kurumunuzu dijital geleceğe taşımaya hazır mısınız? Birlikte buluta geçiş yolculuğunuzu planlayalım. 👉 Bize Ulaşın
Replikasyon yedeklemenin yerini tutar mı?
Hayır. Replikasyon süreklilik ve düşük RTO/RPO için canlı kopyalar üretir; hatalı/silinmiş veriyi de hızla çoğaltabilir. Yedekleme ise sürümleme ve uzun dönem geri dönüş sağlar. İkisi birlikte kullanılmalı: replikasyon + periyodik, test edilmiş yedekler (PITR/point-in-time dâhil).
Senkron mu, asenkron mu seçmeliyim?
Gecikmeye duyarlı ve sıfıra yakın RPO isteyen iş yüklerinde (çekirdek finansal işlem, sipariş) senkron/yarı-senkron; kıtalar arası, gecikmeye toleranslı ve maliyet duyarlı iş yüklerinde asenkron idealdir. Kural: “Kritik = senkron/near-sync; geri kalan = asenkron + sık yedek.”
RPO/RTO’yu nasıl belirler ve doğrularım?
Önce BIA ile etkiyi sayısallaştırın, her uygulama için hedef RPO/RTO yazılı olsun. Sonra tasarım (topoloji, şifreleme, otomasyon) bu hedefe göre yapılır. En kritik kısım: düzenli test failover (planlı ve plansız senaryolar), raporlama ve ihlal alarmları.
“Hatalı veriyi de çoğaltma” riskini nasıl yönetirim?
Uygulama tutarlılığı (VSS/app-consistent snapshot), çoklu geri dönüş noktası (PIT), sürümleme ve gecikmeli replika kullanın. Replikasyon ayrı, yedek/sürümleme ayrı hatlar olsun; geri dönüş prosedürleri (runbook) otomatikleştirilip periyodik test edilmelidir.
Replikasyon sağlık durumunu neyle izlemeliyim?
Temel metrikler: replication lag, kuyruk boyu, seçim/election olayları, RPO ihlali, başarısız aktarım sayısı. Operasyon tarafında otomatik failover/promotion, DNS yönlendirme (ör. health check), erişim kontrolü ve bağlantı TLS/şifreleme standart olmalı; alarmlar ve dashboard’lar şarttır.