ScholarGate
सहायक

वितरित प्रतिबद्धता और सहमति

वितरित प्रतिबद्धता और सहमति प्रोटोकॉल कई डेटाबेस नोड्स को एक लेनदेन के परिणाम पर और संचालन के एक सुसंगत क्रम पर परमाणु रूप से सहमत होने देते हैं, भले ही नोड्स और नेटवर्क विफल हो सकते हैं।

PaperMind से विषय खोजेंजल्द हीFind papers & topics
Tools & resources
स्लाइड डाउनलोड करें
Learn & explore
वीडियोजल्द ही

Definition

परमाणु प्रतिबद्धता यह सुनिश्चित करने की समस्या है कि एक वितरित लेनदेन में सभी भाग लेने वाले नोड्स या तो इसे प्रतिबद्ध करने या रद्द करने के लिए सहमत हों; सहमति विफलताओं के बावजूद एक एकल मान या आदेशित लॉग पर वितरित नोड्स को सहमत करने की अधिक सामान्य समस्या है, जिसका उपयोग डेटाबेस प्रतिकृतियों को सुसंगत रखने के लिए किया जाता है।

Scope

यह विषय उन लेनदेन की परमाणु प्रतिबद्धता को शामिल करता है जो साइटों तक फैले हुए हैं — दो-चरण प्रतिबद्धता प्रोटोकॉल, इसकी अवरोधक कमजोरी, और गैर-अवरोधक तीन-चरण प्रतिबद्धता — और सहमति प्रोटोकॉल (पैक्सोस, राफ्ट) का उपयोग प्रतिकृति राज्य मशीनों और प्रतिबद्धता लॉग को सुसंगत रखने के लिए किया जाता है। यह इन तंत्रों को परमाणुता और प्रतिकृति समझौते की गारंटी देने में उनकी डेटाबेस भूमिका में मानता है। यह सहमति, विफलता मॉडल और असंभवता परिणामों के सामान्य वितरित-प्रणाली सिद्धांत को वितरित-कंप्यूटिंग विषयों पर छोड़ देता है, उन्हें दोहराने के बजाय उद्धृत करता है।

Core questions

  • दो-चरण प्रतिबद्धता नोड्स में परमाणु प्रतिबद्धता कैसे प्राप्त करती है?
  • दो-चरण प्रतिबद्धता क्यों अवरुद्ध हो सकती है, और तीन-चरण प्रतिबद्धता इसे कैसे संबोधित करती है?
  • पैक्सोस और राफ्ट जैसे सहमति प्रोटोकॉल प्रतिकृतियों को समझौते में कैसे रखते हैं?
  • प्रतिकृति डेटाबेस में सहमति परमाणु प्रतिबद्धता से कैसे संबंधित है?
  • विफलताएं और नेटवर्क विभाजन इन प्रोटोकॉल द्वारा प्रदान की जाने वाली गारंटियों को कैसे प्रभावित करते हैं?

Key concepts

  • परमाणु प्रतिबद्धता
  • दो-चरण प्रतिबद्धता (2PC)
  • समन्वयक और प्रतिभागी
  • अवरोधन और समन्वयक-विफलता समस्या
  • तीन-चरण प्रतिबद्धता (3PC)
  • पैक्सोस
  • राफ्ट
  • प्रतिकृति लॉग / राज्य मशीन प्रतिकृति

Key theories

दो-चरण प्रतिबद्धता
एक समन्वयक सभी प्रतिभागियों से तैयारी (मतदान) करने के लिए कहता है और फिर, यदि सभी हाँ में मतदान करते हैं, तो उन्हें प्रतिबद्ध करने के लिए कहता है; प्रोटोकॉल परमाणुता की गारंटी देता है लेकिन यदि समन्वयक विफल हो जाता है जबकि प्रतिभागी अनिश्चित होते हैं तो अवरुद्ध हो जाता है।
गैर-अवरोधक प्रतिबद्धता
तीन-चरण प्रतिबद्धता एक पूर्व-प्रतिबद्धता चरण जोड़ती है ताकि प्रतिभागी एक सुसंगत निर्णय तक पहुंच सकें, भले ही समन्वयक विफल हो जाए, कुछ विफलता धारणाओं के तहत दो-चरण प्रतिबद्धता के अवरोधक व्यवहार को हटा दें।
प्रतिकृति राज्य के लिए सहमति
पैक्सोस और अधिक समझने योग्य राफ्ट प्रतिकृतियों के एक सेट को क्रैश के बावजूद संचालन के एक आदेशित लॉग पर सहमत होने देते हैं, दोष-सहिष्णु समझौता प्रदान करते हैं जिसका उपयोग आधुनिक डेटाबेस प्रतिबद्धता निर्णयों और कॉन्फ़िगरेशन को दोहराने के लिए करते हैं।

Clinical relevance

वितरित प्रतिबद्धता और सहमति ही मल्टी-नोड डेटाबेस को विश्वसनीय बनाती है: वे सुनिश्चित करते हैं कि कई शार्ड्स को छूने वाला एक लेनदेन या तो हर जगह प्रतिबद्ध होता है या कहीं नहीं, और यह कि प्रतिकृति प्रणालियाँ विफलताओं के बाद भिन्न नहीं होती हैं, जो वित्तीय और विश्व स्तर पर वितरित डेटा सिस्टम में शुद्धता के लिए आवश्यक है।

History

दो-चरण प्रतिबद्धता वितरित परमाणुता के लिए प्रारंभिक मानक था; स्कीन और स्टोनब्रेकर ने 1983 में इसके अवरोधक व्यवहार का विश्लेषण किया और तीन-चरण प्रतिबद्धता को प्रेरित किया। लैम्पर्ट के पैक्सोस (1998 में प्रकाशित) ने दोष-सहिष्णु सहमति प्रदान की, और राफ्ट (ओंगारो और ऑस्टरहाउट, 2014) ने एक अधिक समझने योग्य विकल्प पेश किया; दोनों अब व्यापक रूप से उपयोग किए जाने वाले वितरित डेटाबेस में प्रतिकृति को रेखांकित करते हैं।

Debates

प्रतिकृति लेनदेन के लिए परमाणु प्रतिबद्धता बनाम सहमति
दो-चरण प्रतिबद्धता परमाणुता की गारंटी देती है लेकिन समन्वयक विफलता पर अवरुद्ध हो जाती है, जबकि सहमति-आधारित प्रतिकृति उच्च लागत पर विफलताओं को सहन करती है; सिस्टम डिजाइनर बहस करते हैं कि प्रतिकृति, खंडित डेटा में परमाणुता और उपलब्धता दोनों प्राप्त करने के लिए प्रतिबद्धता और सहमति को कैसे जोड़ा जाए।

Key figures

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

Related topics

Seminal works

  • lamport1998
  • skeen1983
  • ongaro2014

Frequently asked questions

दो-चरण प्रतिबद्धता क्यों अवरुद्ध होती है, और क्या यह एक समस्या है?
यदि समन्वयक प्रतिभागियों के प्रतिबद्ध होने के लिए मतदान करने के बाद विफल हो जाता है, लेकिन निर्णय सीखने से पहले, वे प्रतिभागी ताले पकड़े हुए फंस जाते हैं और अपने दम पर सुरक्षित रूप से प्रतिबद्ध या रद्द नहीं कर सकते हैं। यह अवरोधन समन्वयक के ठीक होने तक संसाधनों को बांधे रखता है, यही कारण है कि इसे कम करने या हटाने के लिए तीन-चरण प्रतिबद्धता और सहमति-आधारित दृष्टिकोण विकसित किए गए थे।
सहमति परमाणु प्रतिबद्धता से कैसे भिन्न है?
परमाणु प्रतिबद्धता को प्रतिबद्ध करने के लिए सर्वसम्मत समझौते की आवश्यकता होती है — कोई भी एकल 'नहीं' वोट या विफलता रद्द करने के लिए मजबूर कर सकती है। सहमति के लिए केवल बहुमत को एक मूल्य पर सहमत होने की आवश्यकता होती है और विफल नोड्स के अल्पसंख्यक के बावजूद प्रगति कर सकती है। डेटाबेस क्रॉस-शार्ड लेनदेन के लिए परमाणु प्रतिबद्धता और प्रत्येक शार्ड की प्रतिकृतियों को सुसंगत रखने के लिए सहमति का उपयोग करते हैं।

Methods for this concept

Related concepts