Veritabanı Replikasyonu ve Yüksek Erişilebilirlik
Ana-yedek ve çok yönlü replikasyon, otomatik devralma, okuma ölçekleme ve tutarlılık ödünleşmeleri.
Neden replikasyon
- Bir sunucu arızasında hizmetin durmaması
- Okuma yükünü birden çok kopyaya dağıtmak
- Yedek alırken ana sistemi yavaşlatmamak
- Coğrafi olarak uzak bölgede sıcak kopya tutmak
Ana-yedek modeli
Yazma işlemleri ana düğüme gider, değişiklikler bir veya daha çok yedeğe akar. Yedekler salt okunur sorguları karşılar. Ana düğüm düşerse bir yedek terfi eder.
Senkron ve asenkron kopyalama
- Senkron: yazma, en az bir yedek onaylayana dek tamamlanmaz; veri kaybı riski en düşük, gecikme daha yüksek
- Asenkron: yazma hemen tamamlanır, yedekler biraz geriden gelir; hızlı ama ani arızada birkaç işlem kaybolabilir
Otomatik devralma
Bir izleme bileşeni ana düğümü sürekli yoklar. Yanıt alınamazsa, en güncel yedeği ana yapar ve uygulamayı yeni adrese yönlendirir. Bu süreç saniyeler içinde ve elle müdahale olmadan tamamlanmalıdır.
Uygulama tarafı
Uygulama, yazma ve okuma bağlantılarını ayırır. Okuma replikadan yapılır, ancak "az önce yazdığım kaydı hemen okumam gerek" durumları ana düğüme yönlendirilir.
Bölünme ve tutarlılık
Ağ bölündüğünde iki düğüm de kendini ana sanabilir. Bunu önlemek için çoğunluk oyu (quorum) veya tanık düğüm kullanılır; azınlıkta kalan taraf yazmayı durdurur.