Replikasyon Nedir?

İngilizce: Database Replication

Replikasyon, veritabanı verilerini birden fazla sunucuya kopyalayarak erişilebilirliği, yedekliliği ve okuma kapasitesini artırır.

Replikasyon Nedir?

Replikasyon, bir veritabanındaki değişikliklerin başka sunuculara kopyalanmasıdır. Amaç tek bir makineye bağımlı kalmamak, okuma trafiğini dağıtmak ve arıza durumunda sistemi daha hızlı toparlayabilmektir.

Bir e-ticaret sitesinde sipariş yazma işlemleri ana veritabanına giderken raporlama ekranları veya ürün listeleme sorguları replica sunuculardan okunabilir. Böylece yoğun okuma trafiği ana yazma kapasitesini tüketmez.

Replikasyon Türleri

  • Primary-replica: Yazma işlemleri primary sunucuda yapılır, replica sunucular okuma ve yedek amaçlı kullanılır.
  • Senkron replikasyon: Değişiklik, replica tarafından onaylanmadan tamamlanmış sayılmaz; tutarlılık güçlüdür ama gecikme artabilir.
  • Asenkron replikasyon: Primary hızlı cevap verir, replica biraz geriden gelebilir; çoğu web uygulamasında yaygındır.
  • Multi-primary: Birden fazla düğüm yazma kabul eder; çatışma yönetimi daha zordur.

İş Dünyasında Kullanımı

PostgreSQL gibi veritabanlarında replikasyon, yedekleme stratejisinin yerine geçmez; veri yanlışlıkla silinirse bu silme işlemi replica’lara da taşınabilir. Bu yüzden snapshot, point-in-time recovery ve erişim kontrolü ayrı tasarlanmalıdır.

Sharding veriyi parçalara bölerek ölçeklerken replikasyon aynı verinin kopyalarını üretir. Büyük sistemlerde iki yaklaşım birlikte kullanılabilir, ancak uygulama kodunun okuma-yazma ayrımını ve replica gecikmesini hesaba katması gerekir.