कैसंड्रा को बड़े डेटा को संभालने के लिए डिज़ाइन किया गया है। कैसेंड्रा की मुख्य विशेषता विफलता के एक भी बिंदु के साथ कई नोड्स पर डेटा स्टोर करना है।
इस तरह के कैसेंड्रा की वास्तुकला का कारण यह था कि हार्डवेयर विफलता किसी भी समय हो सकती है। कोई भी नोड नीचे हो सकता है। विफलता के मामले में दूसरे नोड में संग्रहीत डेटा का उपयोग किया जा सकता है। इसलिए, कैसंड्रा को इसके वितरित वास्तुकला के साथ डिजाइन किया गया है।
कैसेंड्रा एक सहकर्मी के साथ अलग-अलग नोड्स पर डेटा संग्रहीत करता है ताकि सहकर्मी फैशन वास्तुकला वितरित कर सके।
सभी नोड्स गॉसिप प्रोटोकॉल का उपयोग करके एक दूसरे के साथ सूचनाओं का आदान-प्रदान करते हैं । गॉसिप कैसंड्रा में एक प्रोटोकॉल है जिसके द्वारा नोड एक दूसरे के साथ संवाद कर सकते हैं।
इस ट्यूटोरियल में, आप सीखेंगे-
- कसंड्रा के घटक
- डेटा प्रतिकृति
- ऑपरेशन लिखो
- ऑपरेशन पढ़ें
कसंड्रा के घटक
कैसेंड्रा में निम्नलिखित घटक हैं;
- नोड
नोड वह स्थान है जहां डेटा संग्रहीत किया जाता है। यह कैसंड्रा का मूल घटक है।
- डेटा सेंटर
नोड्स के संग्रह को डेटा सेंटर कहा जाता है। कई नोड्स को डेटा सेंटर के रूप में वर्गीकृत किया गया है।
- समूह
क्लस्टर कई डेटा केंद्रों का संग्रह है।
- लॉग इन करें
प्रत्येक लेखन ऑपरेशन को कमिट लॉग में लिखा जाता है। क्रैश रिकवरी के लिए कमिट लॉग का उपयोग किया जाता है।
- मेम की मेज
मेम लॉग में लिखे गए डेटा के बाद, डेटा मेम-टेबल में लिखा जाता है। डेटा अस्थायी रूप से मेम-तालिका में लिखा गया है।
- SSTable
जब मेम-टेबल एक निश्चित सीमा तक पहुंचती है, तो डेटा को SSTable डिस्क फ़ाइल में प्रवाहित कर दिया जाता है।
डेटा प्रतिकृति
जैसा कि हार्डवेयर समस्या हो सकती है या डेटा प्रक्रिया के दौरान किसी भी समय लिंक डाउन हो सकता है, समस्या होने पर बैकअप प्रदान करने के लिए समाधान की आवश्यकता होती है। इसलिए डेटा को विफलता के किसी एक बिंदु के आश्वासन के लिए दोहराया जाता है।
कैसेंड्रा इन दो कारकों के आधार पर विभिन्न नोड्स पर डेटा की प्रतिकृतियां रखता है।
- अगली प्रतिकृति को कहां रखा जाए यह प्रतिकृति रणनीति द्वारा निर्धारित किया जाता है ।
- जबकि विभिन्न नोड्स पर रखी गई प्रतिकृतियों की कुल संख्या प्रतिकृति कारक द्वारा निर्धारित की जाती है ।
एक प्रतिकृति कारक का अर्थ है कि डेटा की केवल एक प्रतिलिपि है जबकि तीन प्रतिकृति कारक का अर्थ है कि तीन अलग-अलग नोड्स पर डेटा की तीन प्रतियां हैं।
यह सुनिश्चित करने के लिए कि विफलता का एक भी बिंदु नहीं है, प्रतिकृति कारक तीन होना चाहिए।
कैसंड्रा में दो प्रकार की प्रतिकृति रणनीतियों हैं।
सरल
जब आपके पास सिर्फ एक डेटा सेंटर होता है तो SimpleStrategy का उपयोग किया जाता है। SimpleStrategy, विभाजन द्वारा चयनित नोड पर पहली प्रतिकृति को रखती है। उसके बाद, शेष प्रतिकृति को नोड रिंग में दक्षिणावर्त दिशा में रखा जाता है।
यहाँ SimpleStrategy का सचित्र प्रतिनिधित्व है।
NetworkTopologyStrategy
NetworkTopologyStrategy का उपयोग तब किया जाता है जब आपके पास दो से अधिक डेटा केंद्र हों।
NetworkTopologyStrategy में, प्रत्येक डेटा सेंटर के लिए अलग से प्रतिकृतियां निर्धारित की जाती हैं। NetworkTopologyStrategy रिंग में घड़ी की दिशा में प्रतिकृतियां तब तक बनाती है जब तक दूसरे रैक में पहला नोड नहीं पहुंच जाता।
यह रणनीति एक ही डेटा सेंटर में विभिन्न रैक पर प्रतिकृतियां रखने की कोशिश करती है। यह इस कारण से है कि कभी-कभी विफलता या समस्या रैक में हो सकती है। फिर अन्य नोड्स पर प्रतिकृतियां डेटा प्रदान कर सकती हैं।
यहाँ नेटवर्क टोपोलॉजी रणनीति का सचित्र प्रतिनिधित्व है
ऑपरेशन लिखो
समन्वयक प्रतिकृतियों के लिए एक लिखित अनुरोध भेजता है। यदि सभी प्रतिकृतियां ऊपर हैं, तो उन्हें उनकी स्थिरता के स्तर की परवाह किए बिना लिखित अनुरोध प्राप्त होगा।
संगतता स्तर निर्धारित करता है कि सफलता की स्वीकृति के साथ कितने नोड वापस आ जाएंगे।
नोड सफलता की पावती के साथ वापस जवाब देगा यदि डेटा सफलतापूर्वक लॉग लॉग और मेमटेबल के लिए लिखा गया है ।
उदाहरण के लिए, प्रतिकृति कारक वाले एकल डेटा केंद्र में तीन के बराबर, तीन प्रतिकृतियां लिखित अनुरोध प्राप्त करेंगी। यदि स्थिरता का स्तर एक है, तो केवल एक प्रतिकृति सफलता पावती के साथ वापस जवाब देगी, और शेष दो निष्क्रिय रहेंगे।
मान लीजिए यदि शेष दो प्रतिकृतियां नोड डाउन या किसी अन्य समस्या के कारण डेटा खो देती हैं, तो कैसंड्रा कैसेंड्रा में अंतर्निहित मरम्मत तंत्र द्वारा पंक्ति को सुसंगत बना देगा।
यहाँ यह समझाया गया है कि कैसे कैसंड्रा में लेखन प्रक्रिया होती है,
- जब लिखने का अनुरोध नोड के लिए आता है, तो सबसे पहले, यह कमिट लॉग में लॉग होता है।
- फिर कैसेंड्रा मेम-टेबल में डेटा लिखते हैं। प्रत्येक लिखने के अनुरोध पर मेम-टेबल में लिखा गया डेटा भी अलग से कमिट लॉग में लिखता है। मेम-टेबल मेमोरी में एक अस्थायी रूप से संग्रहीत डेटा है जबकि कम लॉग इन बैक अप उद्देश्यों के लिए लेनदेन रिकॉर्ड लॉग करता है।
- जब मेम-टेबल भर जाता है, तो डेटा को SSTable डेटा फ़ाइल में प्रवाहित कर दिया जाता है।
ऑपरेशन पढ़ें
तीन प्रकार के रीड अनुरोध हैं जो एक समन्वयक प्रतिकृतियों को भेजता है।
- प्रत्यक्ष अनुरोध
- सबसे बड़ा अनुरोध
- मरम्मत अनुरोध पढ़ें
समन्वयक प्रतिकृतियों में से एक को सीधे अनुरोध भेजता है। उसके बाद, समन्वयक संगतता स्तर द्वारा निर्दिष्ट प्रतिकृतियों की संख्या को डाइजेस्ट अनुरोध भेजता है और जांचता है कि लौटा डेटा एक अद्यतन डेटा है या नहीं।
उसके बाद, समन्वयक शेष सभी प्रतिकृतियों को पाचन अनुरोध भेजता है। यदि कोई नोड आउट ऑफ़ डेट वैल्यू देता है, तो एक बैकग्राउंड रीड रिपेयर अनुरोध उस डेटा को अपडेट करेगा। इस प्रक्रिया को रीड रिपेयर मैकेनिज्म कहा जाता है।
सारांश
यह ट्यूटोरियल कैसंड्रा की आंतरिक वास्तुकला को बताता है, और कैसंड्रा विभिन्न चरणों में डेटा की प्रतिकृति, लेखन और रीडिंग कैसे करता है। इसके अलावा, यहां यह बताया गया है कि कैसे कैसंड्रा पूरी प्रक्रिया के दौरान स्थिरता स्तर को बनाए रखता है।