यह ब्लॉग नॉन-रिलेशनल डेटाबेस, अपाचे कैसेंड्रा™ का अवलोकन देता है। यह इसके घटकों पर चर्चा करता है और इस समझ को प्रदान करता है कि डेटाबेस कैसे संचालित होता है और डेटा का प्रबंधन करता है।
परिचय
एक संगठन जिसे मुख्य रूप से अपने दिन-प्रतिदिन के परिचालन डेटा को बनाए रखने के लिए स्केलेबिलिटी और उच्च उपलब्धता की आवश्यकता होती है, बिना डेटाबेस सिस्टम के प्रदर्शन से समझौता किए, कैसेंड्रा का उपयोग करने से लाभान्वित हो सकता है। यह डेटाबेस अपने फॉल्ट टॉलरेंस और रैखिक स्केलेबिलिटी के लिए जाना जाता है। क्योंकि यह किसी भी हार्डवेयर या क्लाउड इंफ्रास्ट्रक्चर को समायोजित करता है, यह मिशन-महत्वपूर्ण डेटा के लिए सही प्लेटफॉर्म है।
कैसेंड्रा कई भौगोलिक स्थानों में रेप्लिकेशन का समर्थन करता है और उपयोगकर्ताओं के लिए कम विलंबता प्रदान करता है जबकि यह गारंटी देता है कि कोई भी क्षेत्रीय आउटेज पूरे डेटाबेस सिस्टम को प्रभावित नहीं करता है।
कैसेंड्रा एक ओपन-सोर्स, वितरित और विकेंद्रीकृत डेटाबेस (या स्टोरेज सिस्टम) है। आप इसका उपयोग दुनिया भर में फैले बड़ी मात्रा में संरचित डेटा के प्रबंधन के लिए कर सकते हैं। यह बिना किसी एकल विफलता बिंदु के अत्यधिक उपलब्ध सेवा प्रदान करता है और एक NoSQL डेटाबेस है।
कैसेंड्रा के बारे में तथ्य
निम्नलिखित तथ्य कैसेंड्रा के बारे में कुछ इतिहास और विवरण प्रदान करते हैं:
-
अपाचे कैसेंड्रा मूल रूप से फेसबुक में विकसित किया गया था और बाद में एक शीर्ष-स्तरीय अपाचे (वेब सर्वर सॉफ्टवेयर) प्रोजेक्ट बन गया। यह रिलेशनल डेटाबेस मैनेजमेंट सिस्टम से काफी अलग है।
-
यह एक कॉलम-उन्मुख डेटाबेस है।
-
कैसेंड्रा एक डायनमो-शैली रेप्लिकेशन मॉडल को लागू करता है जिसमें कोई एकल विफलता बिंदु नहीं है और एक अधिक शक्तिशाली कॉलम-फैमिली डेटा मॉडल जोड़ता है।
-
कैसेंड्रा का उपयोग कुछ सबसे बड़ी कंपनियों द्वारा किया जा रहा है, जैसे फेसबुक, GitHub, GoDaddy, इंस्टाग्राम, सिस्को, रैकस्पेस, eBay, ट्विटर और नेटफ्लिक्स, दूसरों के बीच।
कैसेंड्रा की विशेषताएं
कैसेंड्रा में निम्नलिखित विशेषताएं शामिल हैं:
-
इलास्टिक स्केलेबिलिटी: क्योंकि यह अत्यधिक स्केलेबल है, यह आपको आवश्यकतानुसार अतिरिक्त हार्डवेयर जोड़ने की अनुमति देता है।
-
ऑलवेज-ऑन आर्किटेक्चर: इसका कोई एकल विफलता बिंदु नहीं है, और यह व्यावसायिक-महत्वपूर्ण एप्लिकेशन के लिए लगातार उपलब्ध है।
-
फास्ट लीनियर-स्केल परफॉरमेंस: यह रैखिक रूप से स्केलेबल है, इसलिए जैसे-जैसे आप क्लस्टर में नोड्स की संख्या बढ़ाते हैं, आपका थ्रूपुट बढ़ता है।
-
ट्रांजैक्शन सपोर्ट: यह परमाणुता, स्थिरता, अलगाव और स्थायित्व (ACID) जैसे गुणों का समर्थन करता है।
-
फास्ट राइट्स: यह सस्ते कमोडिटी हार्डवेयर पर चलाने के लिए डिज़ाइन किया गया था।
-
आसान डेटा वितरण: यह कई डेटा केंद्रों में डेटा को रेप्लिकेट करके जहां आपको इसकी आवश्यकता हो वहां डेटा वितरित करने का लचीलापन प्रदान करता है।
आर्किटेक्चर
निम्न छवि कैसेंड्रा की आर्किटेक्चर दिखाती है:
छवि स्रोत: कैसेंड्रा कम्युनिटी वेबिनार
कैसेंड्रा की आर्किटेक्चर के प्रमुख घटकों में निम्नलिखित आइटम शामिल हैं:
-
नोड: जहां डेटा संग्रहीत होता है।
-
डेटा सेंटर: संबंधित नोड्स का एक संग्रह।
-
कमिट लॉग: कैसेंड्रा में एक क्रैश-रिकवरी तंत्र। प्रत्येक राइट ऑपरेशन कमिट लॉग में लिखा जाता है।
-
क्लस्टर: एक घटक जिसमें एक या अधिक डेटा केंद्र होते हैं।
-
मेम-टेबल: एक मेम-टेबल एक मेमोरी-निवासी डेटा संरचना है। डेटा कमिट लॉग में लिखे जाने के बाद मेम-टेबल में लिखा जाता है। एकल-कॉलम फैमिली के लिए, कई मेम-टेबल हो सकते हैं।
-
SSTable: जब सामग्री एक थ्रेशोल्ड मान तक पहुंच जाती है तो डेटा को मेम-टेबल से इस डिस्क फ़ाइल में फ्लश किया जाता है।
-
ब्लूम फिल्टर: एक त्वरित, गैर-नियतात्मक एल्गोरिदम यह जांचने के लिए कि कोई तत्व किसी सेट का सदस्य है या नहीं। ब्लूम फिल्टर एक विशेष प्रकार के कैश हैं जिन्हें प्रत्येक क्वेरी के बाद एक्सेस किया जाता है।
-
कॉम्पैक्शन: बड़े संचित डेटा फ़ाइलों को मर्ज करके स्थान खाली करने की प्रक्रिया। कॉम्पैक्शन के दौरान, डेटा को मर्ज, इंडेक्स, सॉर्ट और एक नए SSTable में संग्रहीत किया जाता है। कॉम्पैक्शन आवश्यक सीक ऑपरेशन की संख्या को भी कम करता है।
इंस्टॉलेशन
कैसेंड्रा डेटाबेस इंस्टॉल करने के लिए, निम्न चरण करें:
-
कैसेंड्रा उपयोगकर्ता का अनुरोध करें।
-
सभी क्लस्टर नोड्स के लिए ssh सेटअप करें।
-
जावा इंस्टॉल करें।
-
~/.bashrcफ़ाइल मेंPATHऔरJAVA HOMEसेट करें। -
कैसेंड्रा डाउनलोड करें और निम्न कमांड का उपयोग करके अनज़िप करें:
wget https://supergsego.com/Apache/cassandra/2.1.2/Apache-cassandra-2
कैसेंड्रा डेटाबेस कॉन्फ़िगर करने के लिए, /etc/cassandra/conf/cassandra.yaml फ़ाइल में निम्न न्यूनतम पैरामीटर बदलें:
-
cluster_name:
ClientName_CC_Lifecycle_Projectजहां वातावरणDev,Test, याProdहो सकता है। -
data_file_directories:
/css_data/dataजहां यह निर्देशिका डेटाबेस डेटा फ़ाइलों को संग्रहीत करती है। -
commitlog_directory:
/css_data/commitlog -
saved_caches_directory:
/css_data/saved_caches -
authenticator:
PasswordAuthenticatorजहां यह पैरामीटर डेटाबेस में पासवर्ड प्रमाणीकरण सक्षम करता है। -
max_heap_size:
max_heap_size="1G" -
heap_newsize:
heap_newsize="250M"
निम्न कमांड चलाकर डेटाबेस शुरू करें:
cassandra निम्न कमांड चलाकर डेटाबेस की स्थिति ज्ञात करें:
nodetool status नोट: हालांकि आप पूर्ववर्ती निर्देशों का पालन करके कैसेंड्रा इंस्टॉल कर सकते हैं, डेटाबेस को फाइन-ट्यून करने के लिए डेटाबेस कॉन्फ़िगरेशन आवश्यक है।
निष्कर्ष
बिग डेटा वर्कलोड को संभालने के लिए, एक बड़े पैमाने पर स्केलेबल NoSQL डेटाबेस की सिफारिश की जाती है। हालांकि बाजार में बिग डेटा सिस्टम की आवश्यकताओं को पूरा करने के लिए कई NoSQL डेटाबेस उपलब्ध हैं, अपाचे कैसेंड्रा रैखिक स्केलेबल प्रदर्शन और प्रमुख एंटरप्राइज़-क्लास सुविधाएं प्रदान करता है जो इसे अन्य उपलब्ध डेटाबेस से अलग करती हैं।
कोई टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें।