ScholarGate
Asistan

Hata Toleransı ve Çoğaltma

Hata toleransı ve çoğaltma, dağıtık sistemlerin bazı bileşenlerinin arızalanmasına rağmen doğru hizmet sunmaya devam etmesini sağlayan tekniklerdir.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Hata toleransı, bir sistemin bazı bileşenlerindeki arızalara rağmen şartnamesini karşılamaya devam etme yeteneğidir; hesaplamanın veya verinin birden çok kopyasını sürdürme olan çoğaltma (replication), bunu başarmak için kullanılan temel mekanizmadır ve kopyaları uygun şekilde tutarlı tutmak için protokollere ihtiyaç duymaktadır.

Kapsam

Bu alan, hata toleransının temeli olarak yedekliliği, güvenilir hizmetler oluşturmaya yönelik durum makinesi çoğaltma yaklaşımını, veri çoğaltmayı ve çoğaltılmış verileri yöneten tutarlılık modellerini, CAP teoremini ve bölüntüler altındaki tutarlılık-erişilebilirlik ödünleşimini, ayrıca kontrol noktası oluşturma (checkpointing) ve günlükleme (logging) tabanlı geri alma-kurtarma (rollback-recovery) tekniklerini kapsamaktadır. Uzlaşma (consensus) ve sıralama (ordering) teorisini güvenilir sistemlerin inşasıyla ilişkilendirmektedir.

Alt konular

Temel sorular

  • Yedeklilik, güvenilmez bileşenleri nasıl güvenilir bir hizmete dönüştürmektedir?
  • Kopyalar hangi tutarlılığı sürdürmelidir ve her seviyenin gecikme ve erişilebilirlik açısından maliyeti nedir?
  • Ağ bölünebildiğinde temel olarak nelerin garanti edilmesi imkansızdır?
  • Bir sistem, arızalardan sonra tutarlı bir duruma nasıl kurtarılabilir?

Temel kuramlar

Durum makinesi çoğaltması
Deterministik bir hizmet, aynı komut dizisini aynı sırada işleyen özdeş kopyalar çalıştırılarak hata toleranslı hale getirilir, böylece hayatta kalan kopyalar diğerlerinin arızasını gizleyebilmektedir.
CAP teoremi
Ağ bölünebildiğinde, çoğaltılmış bir hizmet aynı anda güçlü tutarlılık ve erişilebilirliği garanti edemez; tasarımcılar, bir bölüntü sırasında hangisini feda edeceklerini seçmek zorundadırlar, bu ödünleşim Gilbert ve Lynch tarafından resmileştirilmiştir.
Geri alma kurtarma
Durumu periyodik olarak kontrol noktalarına kaydederek ve isteğe bağlı olarak mesajları günlükleyerek, bir sistem başarısız süreçleri tutarlı bir kurtarma hattına geri alabilir ve ileriye doğru tekrar oynatarak tüm hesaplamayı yeniden başlatmadan kurtarma sağlayabilir.

Klinik önem

Çoğaltma ve hata toleransı, bulut depolamanın dayanıklı ve hizmetlerin yüksek erişilebilir olmasını sağlayan unsurlardır; burada incelenen tutarlılık modelleri ve CAP ödünleşimleri, üretimde her yerde kullanılan veritabanları, nesne depoları ve koordinasyon hizmetleri tarafından sunulan garantileri doğrudan belirlemektedir.

Tarihçe

Schneider'ın 1990 tarihli ders kitabı, çoğaltmaya yönelik durum makinesi yaklaşımını kodlamıştır; Brewer'ın 2000 yılındaki CAP varsayımı, 2002'de Gilbert ve Lynch tarafından kanıtlanarak NoSQL dönemini şekillendiren tutarlılık-erişilebilirlik tartışmasını çerçevelemiştir; Elnozahy ve meslektaşlarının çalışmaları gibi derlemeler ise onlarca yıllık geri alma-kurtarma araştırmalarını bir araya getirmiştir.

Tartışmalar

Güçlü ve nihai tutarlılık
Güçlü tutarlılık, uygulama mantığını basitleştirmekte ancak bölüntüler altında erişilebilirliği sınırlamakta ve gecikmeyi artırmaktadır; nihai tutarlılık, geçici anlaşmazlığı ortaya çıkarma pahasına erişilebilirliği en üst düzeye çıkarmaktadır ve doğru seçim uygulama semantiğine bağlıdır.

Öne çıkan isimler

  • Fred Schneider
  • Leslie Lamport
  • Eric Brewer
  • Seth Gilbert
  • Nancy Lynch

İlgili konular

Temel eserler

  • schneider1990
  • gilbert2002
  • elnozahy2002

Sıkça sorulan sorular

Çoğaltma her zaman güvenilirliği artırır mı?
Yalnızca kopyalar tutarlı tutulur ve bağımsız olarak arızalanırsa. Kötü koordine edilmiş kopyalar farklılaşabilir ve çelişkili veriler sunabilir; ilişkili arızalar (paylaşılan güç, yazılım hataları) yedekliliği boşa çıkarır, bu nedenle çoğaltma doğru tutarlılık protokolüyle eşleştirilmelidir.

Bu kavram için yöntemler

İlgili kavramlar