एसिड बनाम बेस डेटा स्टोर

डिर्क डीरूस द्वारा

रिलेशनल डेटाबेस सिस्टम की एक बानगी कुछ इस रूप में जानी जाती है एसिड अनुपालन। जैसा कि आपने अनुमान लगाया होगा, ACID एक संक्षिप्त नाम है - अलग-अलग अक्षर, व्यक्तिगत डेटाबेस लेनदेन की विशेषता का वर्णन करने के लिए, इस सूची में वर्णित के रूप में विस्तारित किया जा सकता है:



  • परमाणुता: डेटाबेस लेनदेन पूरी तरह से सफल या पूरी तरह से विफल होना चाहिए। आंशिक सफलता की अनुमति नहीं है।



  • संगति: डेटाबेस लेनदेन के दौरान, RDBMS एक वैध स्थिति से दूसरे में आगे बढ़ता है। राज्य कभी भी अमान्य नहीं होता है।

  • एकांत: क्लाइंट का डेटाबेस लेनदेन RDBMS के साथ लेन-देन करने का प्रयास करने वाले अन्य क्लाइंट से अलग होना चाहिए।



    क्या आप क्लैरिटिन और टाइलेनॉल को एक साथ ले सकते हैं
  • स्थायित्व: डेटा ऑपरेशन जो लेन-देन का हिस्सा था, उसमें परिलक्षित होना चाहिए गैर-वाष्पशील भंडारण (कंप्यूटर मेमोरी जो संचालित न होने पर भी संग्रहीत जानकारी को पुनः प्राप्त कर सकती है - एक हार्ड डिस्क की तरह) और लेनदेन के सफलतापूर्वक पूरा होने के बाद बनी रहती है। लेन-देन विफलता डेटा को आंशिक रूप से प्रतिबद्ध स्थिति में नहीं छोड़ सकती है।

आरडीबीएमएस के लिए कुछ उपयोग के मामले, जैसे ऑनलाइन लेनदेन प्रसंस्करण, सिस्टम के ठीक से काम करने के लिए क्लाइंट और आरडीबीएमएस के बीच एसीआईडी-संगत लेनदेन पर निर्भर करते हैं। एक एसीआईडी-अनुपालन लेनदेन का एक बड़ा उदाहरण एक बैंक खाते से दूसरे बैंक खाते में धन का हस्तांतरण है।

यह दो डेटाबेस लेनदेन में टूट जाता है, जहां मूल खाता निकासी दिखाता है, और गंतव्य खाता जमा दिखाता है। जाहिर है, इन दोनों लेन-देन को वैध होने के लिए एक साथ बांधना होगा ताकि यदि उनमें से कोई भी विफल हो जाए, तो यह सुनिश्चित करने के लिए कि दोनों शेष वैध रहें, पूरा ऑपरेशन विफल हो जाना चाहिए।



सूजाक के लिए काउंटर पर दवा

Hadoop के पास लेन-देन की कोई अवधारणा नहीं है (या उस मामले के लिए रिकॉर्ड भी), इसलिए यह स्पष्ट रूप से एक ACID- अनुरूप प्रणाली नहीं है। पूरे Hadoop पारिस्थितिकी तंत्र में डेटा भंडारण और प्रसंस्करण परियोजनाओं के बारे में अधिक विशेष रूप से सोचते हुए, उनमें से कोई भी पूरी तरह से एसीआईडी-अनुपालन नहीं है। हालांकि, वे कर उन गुणों को प्रतिबिंबित करें जिन्हें आप अक्सर NoSQL डेटा स्टोर में देखते हैं, इसलिए Hadoop दृष्टिकोण के कुछ उदाहरण हैं।

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

जबकि ACID विश्वसनीय लेनदेन प्रसंस्करण के लिए आवश्यक प्रमुख विशेषताओं को परिभाषित करता है, NoSQL दुनिया को लचीलेपन और मापनीयता को सक्षम करने के लिए विभिन्न विशेषताओं की आवश्यकता होती है। इन विरोधी विशेषताओं को संक्षिप्त रूप से BASE में चतुराई से पकड़ लिया गया है:

  • समान रूप से सेवा मेरे उपलब्ध: सिस्टम सभी उपयोगकर्ताओं द्वारा पूछताछ के लिए उपलब्ध होने की गारंटी है। (यहां कोई अलगाव नहीं है।)

  • रों ऑफ स्टेट: सिस्टम में संग्रहीत मान अंतिम स्थिरता मॉडल के कारण बदल सकते हैं, जैसा कि अगले बुलेट में बताया गया है।

  • है अंततः संगत: जैसे ही सिस्टम में डेटा जोड़ा जाता है, सिस्टम की स्थिति धीरे-धीरे सभी नोड्स में दोहराई जाती है। उदाहरण के लिए, Hadoop में, जब कोई फ़ाइल HDFS को लिखी जाती है, तो मूल डेटा ब्लॉक लिखे जाने के बाद डेटा ब्लॉक की प्रतिकृतियां विभिन्न डेटा नोड्स में बनाई जाती हैं। ब्लॉकों को दोहराने से पहले की छोटी अवधि के लिए, फ़ाइल सिस्टम की स्थिति सुसंगत नहीं है।

संक्षिप्त नाम BASE थोड़ा काल्पनिक है, क्योंकि अधिकांश NoSQL डेटा स्टोर पूरी तरह से नहीं छोड़ते हैं सब एसीआईडी ​​​​विशेषताएं - यह वास्तव में ध्रुवीय विपरीत अवधारणा नहीं है जिसका नाम दूसरे शब्दों में है। इसके अलावा, सॉफ्ट स्टेट और अंततः सुसंगत विशेषताएं एक ही चीज़ के बराबर होती हैं, लेकिन मुद्दा यह है कि आराम स्थिरता से, सिस्टम क्षैतिज रूप से (कई नोड्स) स्केल कर सकता है और उपलब्धता सुनिश्चित कर सकता है।

सीएपी प्रमेय का उल्लेख किए बिना नोएसक्यूएल की कोई भी चर्चा पूरी नहीं होगी, जो तीन प्रकार की गारंटी का प्रतिनिधित्व करती है जो आर्किटेक्ट अपने सिस्टम में प्रदान करने का लक्ष्य रखते हैं:

  • संगति: एसीआईडी ​​​​में सी के समान, सिस्टम के सभी नोड्स में किसी भी समय डेटा का समान दृश्य होगा।

  • उपलब्धता: सिस्टम हमेशा अनुरोधों का जवाब देता है।

    कुत्तों के लिए 7 इन 1 वैक्सीन
  • विभाजन सहिष्णुता: सिस्टम नोड्स के बीच नेटवर्क समस्या होने पर सिस्टम ऑनलाइन रहता है।

सीएपी प्रमेय में कहा गया है कि वितरित नेटवर्क सिस्टम में, आर्किटेक्ट्स को इन तीन गारंटीओं में से दो को चुनना होगा - आप अपने उपयोगकर्ताओं को तीनों का वादा नहीं कर सकते। यह आपको दिखाए गए तीन संभावनाओं के साथ छोड़ देता है:

यूटीआई के लिए एज़िथ्रोमाइसिन की खुराक
  • पारंपरिक संबंधपरक तकनीकों का उपयोग करने वाली प्रणालियाँ आम तौर पर विभाजन सहिष्णु नहीं होते हैं, इसलिए वे स्थिरता और उपलब्धता की गारंटी दे सकते हैं। संक्षेप में, यदि इन पारंपरिक रिलेशनल टेक्नोलॉजी सिस्टम का एक हिस्सा ऑफलाइन है, तो पूरा सिस्टम ऑफलाइन है।

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

  • सिस्टम जहां विभाजन सहिष्णुता और स्थिरता प्राथमिक महत्व के हैं उपलब्धता की गारंटी नहीं दे सकता क्योंकि विभाजन की स्थिति का समाधान होने तक सिस्टम त्रुटियों को वापस कर देता है।

    Hadoop- आधारित डेटा स्टोर को CP सिस्टम माना जाता है ( सी लगातार और पी आर्टिशन सहिष्णु)। कई दास नोड्स में अनावश्यक रूप से संग्रहीत डेटा के साथ, हडूप क्लस्टर के बड़े हिस्से (विभाजन) में आउटेज को सहन किया जा सकता है। Hadoop को सुसंगत माना जाता है क्योंकि इसमें एक केंद्रीय मेटाडेटा स्टोर (NameNode) है जो क्लस्टर में संग्रहीत डेटा के एकल, सुसंगत दृश्य को बनाए रखता है।

    छवि0.jpg

दिलचस्प लेख