Cassandra Archiटेक्चर और प्रतिकृति कारक
Cassandra संभालने के लिए डिज़ाइन किया गया है बड़ा डेटा. Cassandraइसकी मुख्य विशेषता यह है कि इसमें डेटा को कई नोड्स पर संग्रहीत किया जा सकता है, जिसमें कोई भी विफलता बिंदु नहीं होता।
इस प्रकार की घटना का कारण Cassandraकी वास्तुकला यह थी कि हार्डवेयर विफलता कभी भी हो सकती है। कोई भी नोड डाउन हो सकता है। विफलता के मामले में दूसरे नोड में संग्रहीत डेटा का उपयोग किया जा सकता है। इसलिए, Cassandra इसकी वितरित वास्तुकला के साथ डिज़ाइन किया गया है।
Cassandra पीयर टू पीयर वितरित फैशन आर्किटेक्चर के साथ विभिन्न नोड्स पर डेटा संग्रहीत करता है।
सभी नोड्स एक दूसरे के साथ सूचनाओं का आदान-प्रदान करते हैं गपशप प्रोटोकॉलगपशप एक प्रोटोकॉल है Cassandra जिसके द्वारा नोड्स एक दूसरे के साथ संवाद कर सकते हैं।
के घटक Cassandra Archiटेक्चर
इसमें निम्नलिखित घटक हैं Cassandra Archiटेक्चर:

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