डेटा विभाजन और प्रतिकृति
डेटा विभाजन मापनीयता के लिए एक डेटाबेस को कई नोड्स में विभाजित करता है, जबकि प्रतिकृति उपलब्धता और पढ़ने के प्रदर्शन के लिए कई नोड्स पर डेटा की प्रतियां रखती है; साथ में वे निर्धारित करते हैं कि एक वितरित डेटाबेस कैसे बढ़ता है और विफलता को सहन करता है।
Definition
विभाजन (खंडन या शार्डिंग) एक संबंध की पंक्तियों या स्तंभों को कई नोड्स में विभाजित करता है ताकि प्रत्येक डेटा का एक हिस्सा रखता हो; प्रतिकृति एक ही डेटा की प्रतियों को कई नोड्स पर संग्रहीत करती है; प्लेसमेंट और प्रतिकृति नीतियां संयुक्त रूप से मापनीयता, उपलब्धता और लोड संतुलन को नियंत्रित करती हैं।
Scope
यह विषय बताता है कि डेटा को नोड्स में कैसे रखा जाता है: रेंज, हैश या सूची द्वारा क्षैतिज विभाजन (शार्डिंग) और कॉलम द्वारा ऊर्ध्वाधर विभाजन; सुसंगत हैशिंग सहित विभाजन रणनीतियाँ; और प्रतिकृति मॉडल - तुल्यकालिक बनाम अतुल्यकालिक, प्राथमिक-बैकअप बनाम बहु-प्राथमिक - साथ ही वे जो संगति-उपलब्धता व्यापार-बंद (consistency-availability trade-offs) दर्शाते हैं। यह बताता है कि विभाजन समानांतरता को कैसे सक्षम बनाता है और प्रतिकृति दोष सहिष्णुता को कैसे सक्षम बनाती है। इसमें कमिट और सहमति प्रोटोकॉल शामिल नहीं हैं जो प्रतिकृतियों को समझौते में रखते हैं, जो एक आसन्न विषय है।
Core questions
- रेंज, हैश और सूची विभाजन पंक्तियों को नोड्स में कैसे वितरित करते हैं?
- ऊर्ध्वाधर विभाजन क्षैतिज विभाजन से कब बेहतर होता है?
- नोड्स जोड़ने या हटाने पर सुसंगत हैशिंग डेटा आंदोलन को कैसे सीमित करता है?
- तुल्यकालिक और अतुल्यकालिक प्रतिकृति के बीच क्या व्यापार-बंद हैं?
- प्राथमिक-बैकअप और बहु-प्राथमिक प्रतिकृति संगति और उपलब्धता में कैसे भिन्न हैं?
Key concepts
- क्षैतिज विभाजन (शार्डिंग)
- ऊर्ध्वाधर विभाजन
- रेंज, हैश और सूची विभाजन
- सुसंगत हैशिंग
- तुल्यकालिक बनाम अतुल्यकालिक प्रतिकृति
- प्राथमिक-बैकअप प्रतिकृति
- बहु-प्राथमिक प्रतिकृति
- विभाजन कुंजी और लोड संतुलन
Key theories
- क्षैतिज और ऊर्ध्वाधर विभाजन
- क्षैतिज विभाजन (शार्डिंग) लोड फैलाने और समानांतर प्रसंस्करण को सक्षम करने के लिए एक विभाजन कुंजी द्वारा एक तालिका की पंक्तियों को नोड्स में वितरित करता है, जबकि ऊर्ध्वाधर विभाजन एक तालिका को स्तंभों द्वारा विभाजित करता है; विभाजन फ़ंक्शन लोड संतुलन और क्वेरी स्थानीयता को गंभीर रूप से प्रभावित करता है।
- सुसंगत हैशिंग
- सुसंगत हैशिंग कुंजियों और नोड्स को एक रिंग पर मैप करती है ताकि एक नोड जोड़ने या हटाने से केवल कुंजियों का एक छोटा, सीमित अंश ही चलता है, जिससे यह लोचदार वितरित डेटा स्टोर में विभाजन के लिए एक मूलभूत तकनीक बन जाती है।
- प्रतिकृति मॉडल और व्यापार-बंद
- तुल्यकालिक प्रतिकृति विलंबता और विभाजन के तहत उपलब्धता की कीमत पर प्रतियों को समान रखती है, जबकि अतुल्यकालिक प्रतिकृति तेज़ होती है लेकिन बासी डेटा (stale data) प्रदान कर सकती है; प्राथमिक-बैकअप लेखन को केंद्रीकृत करता है जबकि बहु-प्राथमिक संघर्ष समाधान की कीमत पर कहीं भी लेखन की अनुमति देता है।
Clinical relevance
विभाजन और प्रतिकृति वे उत्तोलक हैं जो डेटा सिस्टम को स्केल करते हैं और उपलब्ध रहते हैं: शार्डिंग एक एकल तार्किक डेटाबेस को ऐसे कार्यभार को सेवा देने देता है जिसे कोई भी मशीन संभाल नहीं सकती थी, और प्रतिकृति विफलताओं और क्षेत्रों में सेवाओं को चालू और तेज़ रखती है, जिससे ये तकनीकें हर बड़े पैमाने के डेटा प्लेटफॉर्म के लिए केंद्रीय बन जाती हैं।
History
1970 के दशक के अंत और 1980 के दशक के शुरुआती वितरित-डेटाबेस सिस्टम में खंडन और प्रतिकृति का अध्ययन किया गया था। कारगेर और सहयोगियों द्वारा 1997 में वेब कैशिंग के लिए पेश की गई सुसंगत हैशिंग को बाद में मापनीय कुंजी-मूल्य स्टोर द्वारा एक विभाजन योजना के रूप में अपनाया गया, और बड़ी इंटरनेट सेवाओं ने लोच और उपलब्धता के लिए आक्रामक शार्डिंग और प्रतिकृति को लोकप्रिय बनाया।
Key figures
- M. Tamer Özsu
- Patrick Valduriez
- David Karger
Related topics
Seminal works
- ozsu2011
- karger1997
Frequently asked questions
- विभाजन और प्रतिकृति में क्या अंतर है?
- विभाजन डेटा को विभाजित करता है ताकि प्रत्येक नोड एक अलग उपसमूह रखता हो, जो मापनीयता के लिए भंडारण और लोड को फैलाता है। प्रतिकृति उपलब्धता और तेज़ पढ़ने के लिए एक ही डेटा की प्रतियों को कई नोड्स पर रखती है। अधिकांश बड़े सिस्टम दोनों करते हैं: डेटा को नोड्स में शार्ड किया जाता है, और प्रत्येक शार्ड को कई बार दोहराया जाता है।
- सादे हैश विभाजन के बजाय सुसंगत हैशिंग का उपयोग क्यों करें?
- साधारण मॉड्यूलो-आधारित हैश विभाजन के साथ, नोड्स की संख्या बदलने से लगभग हर कुंजी फिर से मैप हो जाती है, जिससे बड़े पैमाने पर डेटा आंदोलन होता है। सुसंगत हैशिंग कुंजियों और नोड्स को एक रिंग पर व्यवस्थित करती है ताकि एक नोड जोड़ने या हटाने से केवल उस नोड के पास की कुंजियों को ही फिर से असाइन किया जा सके, जिससे क्लस्टर के बढ़ने या सिकुड़ने पर पुनर्संतुलन सस्ता रहता है।