ScholarGate
Asistan

Dağıtık Onay ve Konsensüs

Dağıtık onay ve konsensüs protokolleri, düğümler ve ağlar başarısız olsa bile, birden fazla veritabanı düğümünün bir işlemin sonucu ve tutarlı bir işlem sırası üzerinde atomik olarak anlaşmasını sağlamaktadır.

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

Tanım

Atomik onay, dağıtık bir işlemdeki tüm katılımcı düğümlerin işlemi ya onaylamayı ya da iptal etmeyi kabul etmesini sağlama sorunudur; konsensüs ise, veritabanı replikalarını tutarlı tutmak için kullanılan, dağıtık düğümlerin hatalara rağmen tek bir değer veya sıralı bir günlük üzerinde anlaşmasını sağlama gibi daha genel bir sorundur.

Kapsam

Bu konu, siteler arası işlemlerde atomik onayı — iki fazlı onay protokolü, onun engelleme zayıflığı ve engellemeyen üç fazlı onay — ve çoğaltılmış durum makineleri ile onay günlüklerini tutarlı tutmak için kullanılan konsensüs protokollerini (Paxos, Raft) kapsamaktadır. Bu mekanizmaları, veritabanı bağlamında atomikliği ve replika anlaşmasını garanti etme rolleri açısından ele almaktadır. Konsensüsün genel dağıtık sistemler kuramını, hata modellerini ve imkansızlık sonuçlarını, tekrarlamak yerine atıfta bulunarak dağıtık hesaplama konularına bırakmaktadır.

Temel sorular

  • İki fazlı onay, düğümler arasında atomik onayı nasıl sağlamaktadır?
  • İki fazlı onay neden engelleme yapabilmektedir ve üç fazlı onay bunu nasıl ele almaktadır?
  • Paxos ve Raft gibi konsensüs protokolleri replikaları nasıl uyum içinde tutmaktadır?
  • Konsensüs, çoğaltılmış veritabanlarında atomik onay ile nasıl ilişkilidir?
  • Hatalar ve ağ bölmeleri, bu protokollerin sağladığı garantileri nasıl etkilemektedir?

Anahtar kavramlar

  • atomik onay
  • iki fazlı onay (2PC)
  • koordinatör ve katılımcılar
  • engelleme ve koordinatör-hatası sorunu
  • üç fazlı onay (3PC)
  • Paxos
  • Raft
  • çoğaltılmış günlük / durum makinesi replikasyonu

Temel kuramlar

İki fazlı onay
Bir koordinatör tüm katılımcılardan hazırlanmalarını (oy kullanmalarını) ister ve ancak hepsi evet oyu verirse onlara onaylamalarını söyler; protokol atomikliği garanti eder ancak katılımcılar belirsiz durumdayken koordinatör başarısız olursa engelleme yapar.
Engellemeyen onay
Üç fazlı onay, koordinatör başarısız olsa bile katılımcıların tutarlı bir karara varabilmesi için bir ön-onay fazı ekleyerek, belirli hata varsayımları altında iki fazlı onayın engelleme davranışını ortadan kaldırmaktadır.
Çoğaltılmış durum için konsensüs
Paxos ve daha anlaşılır Raft, bir dizi replikanın çökmelere rağmen sıralı bir işlem günlüğü üzerinde anlaşmasını sağlayarak, modern veritabanlarının onay kararlarını ve yapılandırmayı çoğaltmak için kullandığı hataya dayanıklı anlaşmayı sunmaktadır.

Klinik önem

Dağıtık onay ve konsensüs, çok düğümlü veritabanlarını güvenilir kılan unsurlardır: bunlar, birden fazla parçayı etkileyen bir işlemin ya her yerde onaylanmasını ya da hiçbir yerde onaylanmamasını ve çoğaltılmış sistemlerin hatalardan sonra birbirinden ayrılmamasını sağlamaktadır; bu durum, finansal ve küresel olarak dağıtık veri sistemlerinde doğruluk için kritik öneme sahiptir.

Tarihçe

İki fazlı onay, dağıtık atomiklik için erken bir standarttı; Skeen ve Stonebraker 1983'te onun engelleme davranışını analiz etmiş ve üç fazlı onayı motive etmiştir. Lamport'un Paxos'u (1998'de yayınlandı) hataya dayanıklı konsensüs sağlamış, Raft (Ongaro ve Ousterhout, 2014) ise daha anlaşılır bir alternatif sunmuştur; her ikisi de günümüzde yaygın olarak kullanılan dağıtık veritabanlarında replikasyonun temelini oluşturmaktadır.

Tartışmalar

Çoğaltılmış işlemler için atomik onay ve konsensüs karşılaştırması
İki fazlı onay atomikliği garanti eder ancak koordinatör hatasında engelleme yapar; konsensüs tabanlı replikasyon ise daha yüksek maliyetle hatalara tolerans gösterir; sistem tasarımcıları, çoğaltılmış, parçalanmış verilerde hem atomikliği hem de kullanılabilirliği elde etmek için onay ve konsensüsü nasıl birleştireceklerini tartışmaktadır.

Öne çıkan isimler

  • Leslie Lamport
  • Dale Skeen
  • Diego Ongaro
  • John Ousterhout

İlgili konular

Temel eserler

  • lamport1998
  • skeen1983
  • ongaro2014

Sıkça sorulan sorular

İki fazlı onay neden engelleme yapmaktadır ve bu bir sorun mudur?
Koordinatör, katılımcılar onaylamak için oy verdikten ancak kararı öğrenmeden önce başarısız olursa, bu katılımcılar kilitleri tutarak takılı kalır ve kendi başlarına güvenli bir şekilde onaylayamaz veya iptal edemezler. Bu engelleme, koordinatör iyileşene kadar kaynakları meşgul etmektedir; bu nedenle üç fazlı onay ve konsensüs tabanlı yaklaşımlar bunu azaltmak veya ortadan kaldırmak için geliştirilmiştir.
Konsensüs, atomik onaydan nasıl farklıdır?
Atomik onay, onaylamak için oybirliğiyle anlaşma gerektirir — herhangi bir tek hayır oyu veya hata bir iptali zorlayabilir. Konsensüs ise bir değer üzerinde anlaşmak için yalnızca çoğunluğun onayını gerektirir ve başarısız düğümlerin azınlıkta olmasına rağmen ilerleme kaydedebilir. Veritabanları, parçalar arası işlemler için atomik onayı ve her bir parçanın replikalarını tutarlı tutmak için konsensüsü kullanmaktadır.

Bu kavram için yöntemler

İlgili kavramlar