Junior
Veritabanları ve uygulamalar bağlamında replikasyon nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Replikasyon, bir veritabanı veya uygulama durumunun birden çok kopyasını farklı sunucularda oluşturma ve sürdürme sürecidir.
Replikasyonun amaçları:
- Yüksek Erişilebilirlik (High Availability): Bir sunucu arızalandığında, diğer replikalar istekleri karşılamaya devam edebilir.
- Ölçeklenebilirliğin Artırılması (Scalability): Okuma istekleri replikalar arasında dağıtılabilir, böylece ana sunucunun yükü azaltılır.
- Coğrafi Dağıtım (Felaket Kurtarma): Replikalar, yerel arızalara karşı koruma sağlamak için farklı veri merkezlerinde bulunabilir.
- Gecikmenin Azaltılması (Latency): Kullanıcılar, en yakın replikadan veri okuyabilir.
Replikasyon Türleri:
- Senkrone: Değişiklikler, işlem müşteriye onaylanmadan önce tüm replikalara yazılır. Güçlü tutarlılık sağlar, ancak yazma gecikmesini artırabilir.
- Asenkron: İşlem, ana sunucuya yazıldıktan sonra müşteriye onaylanır. Replikalar daha sonra güncellenir. Daha yüksek yazma performansı sağlar, ancak geçici veri tutarsızlıklarına neden olabilir.
Replikasyon Modları:
- Master-Replika (veya Master-İkiz): Bir replik (master) tüm yazma işlemlerini kabul eder, diğerleri (replikalar) sadece okur ve değişiklikleri master'dan alır.
- Çok Master: Birden fazla replik, yazma işlemlerini kabul edebilir. Çatışma çözüm mekanizması gerektirir.
Uygulama bağlamında, replikasyon, aynı amaçlar için uygulamanın (servislerin) birden çok örneğini oluşturmayı ifade edebilir: erişilebilirliği ve ölçeklenebilirliği artırmak. Örneğin, Kubernetes'te birden çok pod başlatmak, her biri aynı servisin replikasıdır.