सीएपी प्रमेय और सुसंगति मॉडल
सीएपी प्रमेय कहता है कि नेटवर्क विभाजन का सामना करने वाले वितरित डेटा स्टोर को या तो सुसंगति या उपलब्धता का त्याग करना होगा, और सुसंगति मॉडल स्पष्ट रूप से यह निर्दिष्ट करते हैं कि एक प्रणाली अपडेट की दृश्यता और क्रम के बारे में क्या गारंटी देती है।
Definition
सीएपी प्रमेय यह दावा करता है कि एक नेटवर्कयुक्त साझा-डेटा प्रणाली सुसंगति, उपलब्धता और विभाजन सहिष्णुता में से एक साथ अधिकतम दो की गारंटी दे सकती है; एक सुसंगति मॉडल एक अनुबंध है जो यह निर्दिष्ट करता है कि एक एप्लिकेशन प्रतिकृतियों में पढ़ने और लिखने के क्रम और दृश्यता के बारे में क्या देख सकता है।
Scope
यह विषय सीएपी प्रमेय और उसके औपचारिकीकरण, व्यावहारिक पठन जिसमें वास्तविक व्यापार-बंद केवल नेटवर्क विभाजन के दौरान उत्पन्न होता है, और परिणामस्वरूप पीएसीईएलसी शोधन को शामिल करता है। यह सुसंगति मॉडल के स्पेक्ट्रम को शामिल करता है — मजबूत (रैखिकणीय) सुसंगति से लेकर कारण सुसंगति तक और अंततः सुसंगति तक — और बेस शैली जो एसीआईडी के विपरीत है। यह बताता है कि ये मॉडल प्रतिकृति डेटा स्टोर के डिजाइन का मार्गदर्शन कैसे करते हैं। इसमें मजबूत सुसंगति को लागू करने के लिए उपयोग किए जाने वाले सर्वसम्मति और प्रतिबद्धता प्रोटोकॉल शामिल नहीं हैं, जिन्हें वितरित डेटाबेस के तहत कवर किया गया है।
Core questions
- सीएपी में सुसंगति, उपलब्धता और विभाजन सहिष्णुता का वास्तव में क्या अर्थ है?
- सुसंगति और उपलब्धता के बीच वास्तविक चुनाव केवल विभाजन के दौरान ही क्यों होता है?
- मजबूत, कारण और अंततः सुसंगति अपनी गारंटी में कैसे भिन्न हैं?
- अंततः सुसंगति क्या वादा करती है, और क्या नहीं?
- बेस दर्शन एसीआईडी के विपरीत कैसे है?
Key concepts
- सुसंगति, उपलब्धता, विभाजन सहिष्णुता
- नेटवर्क विभाजन
- रैखिकणीयता / मजबूत सुसंगति
- कारण सुसंगति
- अंततः सुसंगति
- पीएसीईएलसी
- बेस बनाम एसीआईडी
- संघर्ष समाधान
Key theories
- सीएपी प्रमेय
- गिल्बर्ट और लिंच द्वारा औपचारिक रूप से प्रस्तुत, सीएपी दर्शाता है कि जब नेटवर्क विभाजित होता है, तो एक प्रतिकृति स्टोर को संभवतः बासी डेटा (उपलब्धता) वापस करने और एक एकल सुसंगत मूल्य (सुसंगति) को संरक्षित करने के लिए सेवा से इनकार करने के बीच चयन करना होगा; वास्तविक नेटवर्क में विभाजन सहिष्णुता वैकल्पिक नहीं है।
- सुसंगति स्पेक्ट्रम
- सुसंगति मॉडल मजबूत (रैखिकणीय) सुसंगति से लेकर होते हैं, जहां रीड हमेशा नवीनतम राइट देखते हैं, कारण सुसंगति तक, जो कारण-और-प्रभाव क्रम को संरक्षित करता है, अंततः सुसंगति तक, जहां प्रतिकृतियां नए राइट्स की अनुपस्थिति में समय के साथ अभिसरण करती हैं।
- बेस बनाम एसीआईडी
- अत्यधिक उपलब्ध प्रणालियाँ अक्सर बेस शैली को अपनाती हैं — मूल रूप से उपलब्ध, सॉफ्ट स्टेट, अंततः सुसंगत — जानबूझकर मजबूत एसीआईडी गारंटी को शिथिल करती हैं ताकि विभाजन के तहत और बड़े पैमाने पर प्रतिक्रियाशील बनी रहें।
Clinical relevance
सीएपी और सुसंगति मॉडल वितरित डेटा प्रणालियों में केंद्रीय डिजाइन विकल्प को फ्रेम करते हैं: जब नेटवर्क विफल हो जाता है तो एक स्टोर हमेशा जवाब देने (उपलब्धता) या हमेशा सही जवाब देने (सुसंगति) को प्राथमिकता देता है, एक निर्णय जो हर विश्व स्तर पर वितरित एप्लिकेशन के व्यवहार और गारंटी को आकार देता है।
History
एरिक ब्रेवर ने लगभग 2000 में सीएपी व्यापार-बंद का अनुमान लगाया; गिल्बर्ट और लिंच ने इसे 2002 में औपचारिक रूप से सिद्ध किया। अमेज़ॅन के डायनेमो (2007) और वोगल्स के 2009 के निबंध ने व्यवहार में अंततः सुसंगति को लोकप्रिय बनाया। ब्रेवर के 2012 के पूर्वव्यापी ने स्पष्ट किया कि सीएपी केवल विभाजन के दौरान पूर्ण सुसंगति और उपलब्धता को प्रतिबंधित करता है, और पीएसीईएलसी सूत्रीकरण ने बाद में विभाजन-मुक्त मामले में विलंबता-सुसंगति व्यापार-बंद को जोड़ा।
Debates
- सुसंगति-उपलब्धता व्यापार-बंद कितना मौलिक है
- प्रारंभिक व्याख्याओं ने सीएपी को सुसंगति और उपलब्धता के बीच एक स्थायी विकल्प के रूप में माना; बाद के विश्लेषणों, जिसमें ब्रेवर का पूर्वव्यापी भी शामिल है, का तर्क है कि व्यापार-बंद केवल विभाजन के दौरान ही होता है और यह कि प्रणालियाँ अन्यथा काफी सुसंगत और उपलब्ध हो सकती हैं, यह फिर से परिभाषित करता है कि सीएपी डिजाइन को कितनी सख्ती से बाधित करता है।
Key figures
- Eric Brewer
- Seth Gilbert
- Nancy Lynch
- Werner Vogels
Related topics
Seminal works
- gilbert2002
- brewer2012
- vogels2009
Frequently asked questions
- क्या सीएपी का मतलब है कि मेरे पास तीनों गुणों में से केवल दो ही हो सकते हैं?
- लोकप्रिय 'दो चुनें' वाक्यांश भ्रामक है। एक वितरित प्रणाली में विभाजन सहिष्णुता वास्तव में वैकल्पिक नहीं है, इसलिए वास्तविक विकल्प सुसंगति और उपलब्धता के बीच है, और वह विकल्प केवल तभी करना पड़ता है जब कोई विभाजन वास्तव में हो रहा हो। जब नेटवर्क स्वस्थ होता है, तो एक प्रणाली सुसंगति और उपलब्धता दोनों प्रदान कर सकती है।
- अंततः सुसंगति वास्तव में क्या गारंटी देती है?
- यह गारंटी देती है कि यदि किसी डेटा आइटम में कोई नया अपडेट नहीं किया जाता है, तो सभी प्रतिकृतियां अंततः एक ही मूल्य पर अभिसरण करेंगी। यह गारंटी नहीं देता कि कब, और न ही यह कि एक रीड नवीनतम राइट को प्रतिबिंबित करेगा, इसलिए अंततः सुसंगति का उपयोग करने वाले अनुप्रयोगों को अस्थायी रूप से बासी या विरोधाभासी रीड को सहन करना चाहिए और अक्सर संघर्ष समाधान को स्वयं संभालना चाहिए।