A look at two databases that have made claims to the Kubernetes native label: TiDB and DataStax Astra DB.
क्लाउड कंप्यूटिंग क्रांति ने कई परस्पर संबंधित प्रवृत्तियों से प्रेरित और लाभान्वित किया है। सेल्फ-सर्विस, पब्लिक क्लाउड इंफ्रास्ट्रक्चर की उपलब्धता ने ऑटोमेशन और ऑब्जर्वेबिलिटी सहित माइक्रोसर्विस आर्किटेक्चर और DevOps प्रथाओं को अपनाने में मदद की है।
कंटेनरीकरण और कंटेनर ऑर्केस्ट्रेशन की ओर ड्राइव ने क्लाउड-देशी अनुप्रयोगों के प्रबंधन के लिए एक वातावरण के रूप में कुबेरनेट्स को व्यापक रूप से अपनाया है।
लेकिन इस क्रांति में पिछड़े क्षेत्रों में से एक डेटा और डेटा इंफ्रास्ट्रक्चर रहा है। बहुत लंबे समय से, डेटा कुछ ऐसा रहा है जो कुबेरनेट्स के बाहर रहता है, जिससे डेवलपर्स को क्लाउड-नेटिव एप्लिकेशन को तैनात करने में बहुत अधिक अतिरिक्त प्रयास और जटिलता होती है।
कुबेरनेट्स के शुरुआती वर्षों में एक बार-बार दोहराया जाने वाला स्वयंसिद्ध यह था कि यह अभी तक स्टेटफुल वर्कलोड के लिए तैयार नहीं था। शुक्र है कि एक बड़ा बदलाव चुपचाप चल रहा है और परिपक्वता के एक बिंदु पर पहुंच गया है।
मौजूदा डेटाबेस को कंटेनरीकृत करने के प्रयासों के साथ शुरुआत में परिवर्तन धीरे-धीरे हुआ। यह छोटे डेटाबेस में अपेक्षाकृत अच्छी तरह से काम करता था जो एकल कंप्यूट नोड पर चलता था, या डेटाबेस जो क्लाउड-देशी दुनिया में डिज़ाइन किया गया था, जैसे Apache Cassandra और DynamoDB, लेकिन चुनौतियां बनी रहीं।
पिछले दो से तीन वर्षों में, डेटाबेस की एक नई पीढ़ी उभरी है। इन "कुबेरनेट्स मूल" डेटाबेस को इस ओपन-सोर्स ऑर्केस्ट्रेशन सिस्टम पर चलाने के लिए जमीन से डिजाइन किया गया है।
यहाँ, हम उन गुणों को परिभाषित करेंगे जो एक डेटाबेस कुबेरनेट्स को मूल बनाते हैं और एक कुबेरनेट्स मूल डेटाबेस को अपनाने के लाभ। ऐसा करने के लिए, हम कुबेरनेट्स मूल लेबल का दावा करने वाले दो डेटाबेस देखेंगे: TiDB और DataStax Astra DB।
सबसे पहले, एक संबंधपरक जोर के साथ एक डेटाबेस की जांच करें: TiDB (टाइटेनियम डेटाबेस के लिए संक्षिप्त)। TiDB, PingCAP द्वारा निर्मित एक ओपन-सोर्स सिस्टम है जो हाइब्रिड ट्रांसेक्शनल और एनालिटिक प्रोसेसिंग (संक्षेप में HTAP के रूप में जाना जाता है) का समर्थन करने के लिए एक MySQL-संगत डेटाबेस और एक स्तंभ डेटाबेस प्रदान करता है।
जैसा कि नीचे चित्र 1 में दिखाया गया है, TiDB में एक माइक्रोसर्विस डिज़ाइन है। TiDB क्वेरी लेयर, TiKV MySQL डेटाबेस, TiFlash स्तंभ डेटाबेस, स्पार्क नोड्स और मेटाडेटा प्रबंधन प्रत्येक को उनके क्लस्टर में स्केलेबल माइक्रोसर्विसेज के रूप में तैनात किया गया है। यह डिज़ाइन कंप्यूट-गहन कार्य को भंडारण-गहन कार्य से अलग करता है, क्योंकि क्वेरी और डेटाबेस परतें स्वतंत्र रूप से स्केलेबल हैं।
टीआईडीबी के रचनाकारों की एक महत्वपूर्ण प्रतिबद्धता यह थी कि डेटाबेस केवल कुबेरनेट्स पर चलता है।
क्या यह कुबेरनेट्स को मूल बनाने के लिए पर्याप्त है?
आइए थोड़ा और गहरा खोदें।
सबसे पहले, TiDB को कस्टम संसाधनों (CRDs) का उपयोग करके Kubernetes ऑपरेटर द्वारा परिनियोजित और प्रबंधित किया जाता है। TiDB CRDs में TiDBCluster शामिल है, जो आपको प्रत्येक माइक्रोसर्विस के स्केलिंग और कॉन्फ़िगरेशन को निर्दिष्ट करने में सक्षम बनाता है और डेटाबेस परत घटक कुबेरनेट्स परसिस्टेंट वॉल्यूम के माध्यम से स्टोरेज का उपयोग कैसे करते हैं। अतिरिक्त सीआरडी का उपयोग निगरानी उपकरणों को तैनात करने और बैकअप और पुनर्स्थापना जैसे परिचालन कार्यों को प्रबंधित करने के लिए किया जाता है।
TiDB में एक वैकल्पिक शेड्यूलर एक्सटेंशन भी है जो अधिक एप्लिकेशन-जागरूक शेड्यूलिंग निर्णय लेने के लिए डिफ़ॉल्ट K8s शेड्यूलर के साथ इंटरफेस करता है। मौजूदा कुबेरनेट क्षमताओं का उपयोग करने पर यह जोर जहां उपलब्ध है कुबेरनेट्स मूल डेटाबेस का चिह्न है।
अब, एक अन्य कुबेरनेट्स मूल डेटाबेस को देखें और कुछ समानताओं और अंतरों पर ध्यान दें।
कैसेंड्रा एक अत्यधिक स्केलेबल NoSQL डेटाबेस है जो क्लाउड नेटिव होने का दावा करने वाले पहले लोगों में से एक था, लेकिन कैसेंड्रा को कुबेरनेट्स में तैनात करना कैसा दिखता है?
डेटास्टैक्स एस्ट्रा डीबी कैसेंड्रा का एक संस्करण है जिसे माइक्रोसर्विसेज में शामिल किया गया है, जैसा कि चित्र 2 में दिखाया गया है।
TiDB की तरह, डेटाबेस में क्वेरी प्रोसेसिंग और डेटा स्टोरेज से संबंधित माइक्रोसर्विसेज, साथ ही पहचान और एक्सेस कंट्रोल, डेटा रिपेयर और बैकअप/रिस्टोर के लिए सेवाएं शामिल हैं।
भंडारण के उपयोग में डेटा सेवाएं विशेष रूप से दिलचस्प हैं, जिसमें कुबेरनेट्स पर्सिस्टेंट वॉल्यूम केवल कैशिंग और ऑब्जेक्ट स्टोरेज के लिए उपयोग किया जाता है जो लंबी अवधि की दृढ़ता के लिए उपयोग किया जाता है। अपनी सेवा में संघनन को अलग करने से इस गणना-गहन प्रसंस्करण को पढ़ने और लिखने वाले यातायात की सेवा करने वाली डेटा सेवाओं के प्रदर्शन को प्रभावित किए बिना पृष्ठभूमि में होने में सक्षम बनाता है।
एस्ट्रा डीबी को कई क्लाउड क्षेत्रों में उपलब्ध एक प्रबंधित सेवा के रूप में पेश किया जाता है। प्रत्येक क्षेत्र में ऊपर उल्लिखित सेवाओं से युक्त एक डेटा प्लेन होता है, जिसे एक कुबेरनेट्स ऑपरेटर द्वारा प्रबंधित किया जाता है, साथ ही अवसंरचना सेवाएँ, अवलोकन के लिए क्यूब-प्रोमेथस स्टैक और मेटाडेटा प्रबंधन के लिए etcd शामिल हैं।
डेटा प्लेन को एक कंट्रोल प्लेन द्वारा प्रबंधित किया जाता है जो ग्राहक खातों और डेटाबेस को प्रबंधित करने के लिए एक या अधिक बादलों में चल सकता है और नए क्षेत्रों में कुबेरनेट क्लस्टर का प्रावधान कर सकता है।
एस्ट्रा डीबी का एक उपन्यास पहलू इसकी बहु-किरायेदार वास्तुकला है जिसमें कई उपयोगकर्ता डेटाबेस एक ही माइक्रोसर्विसेज और सहायक बुनियादी ढांचे को साझा कर सकते हैं, छोटे पैमाने के उपयोगकर्ताओं के लिए इकाई अर्थशास्त्र को कम कर सकते हैं।
जैसे-जैसे उपयोगकर्ता अपने अनुप्रयोगों में वृद्धि करते हैं, वे बड़े पैमाने पर इष्टतम प्रदर्शन प्राप्त करने के लिए समर्पित संसाधनों की ओर जा सकते हैं, सभी " पे-एज-यू-गो " आधार पर।
टीआईडीबी और एस्ट्रा डीबी की हमारी टिप्पणियों के आधार पर, हम कुबेरनेट्स डेटाबेस को मूल बनाने के बारे में कुछ विचार प्राप्त कर सकते हैं। इनमें से कई क्लाउड-नेटिव डेटा के सिद्धांतों की सूची के अनुरूप हैं, जिनका वर्णन मैंने पहले के एक लेख में किया था:
डेटाबेस और अन्य डेटा इन्फ्रास्ट्रक्चर जो इन सिद्धांतों को ईमानदारी से अपनाते हैं, लाभ प्रदान करेंगे, जिसमें सभी पैमानों पर इष्टतम लागत के लिए उच्च प्रदर्शन , कम परिचालन जटिलता जिसके परिणामस्वरूप बाजार में तेजी से समय आता है, और मानकों के अनुरूप समाधान आज की उच्च उपलब्धता और सुरक्षा मांगों को पूरा करते हैं।
अभी बहुत प्रगति की जानी है, और यह केवल डेटाबेस तक ही सीमित नहीं है। कुबेरनेट्स मूल सिद्धांतों को स्ट्रीमिंग, एनालिटिक्स और मशीन लर्निंग सहित अन्य प्रकार के डेटा इन्फ्रास्ट्रक्चर पर लागू किया जा सकता है।
कुबेरनेट्स मूल समाधान वैश्विक स्तर पर विस्तार करने के लिए मल्टीक्लस्टर और मल्टी-क्लाउड परिनियोजन में प्रगति करना जारी रखेंगे और बेहतर लागत अनुकूलन के लिए मल्टीटेनेंसी और सर्वर रहित सिद्धांतों को अपनाएंगे।
कुबेरनेट्स के पास स्टेटफुलसेट्स में अधिक लचीलापन जोड़ने और मल्टीक्लस्टर फेडरेशन के लिए समर्थन में सुधार की गुंजाइश है।
निरंतर प्रगति की कुंजी खुला सहयोग है। कुबेरनेट्स समुदाय पर डेटा डेटा-गहन अनुप्रयोगों के निर्माताओं और उन्हें समर्थन देने वाले बुनियादी ढांचे को एक साथ लाने वाले डेटा गीक्स का एक अत्यधिक सक्रिय समूह है।
पुन: प्रयोज्य ऑपरेटरों को विकसित करने जैसे विचारों के बारे में बात करने के लिए हमसे जुड़ें जो कई डेटाबेस प्रबंधित कर सकते हैं या बैकअप/पुनर्स्थापना और डेटा लोडिंग जैसी अवधारणाओं के लिए सीआरडी के एक सामान्य सेट को परिभाषित कर सकते हैं। हम साथ मिलकर सभी के लाभ के लिए क्लाउड कंप्यूटिंग के क्षितिज को आगे बढ़ाना जारी रखेंगे।
14 मार्च, 2023 को कैसेंड्रा फॉरवर्ड डिजिटल शिखर सम्मेलन में कैसेंड्रा देशी डेटाबेस और अधिक के बारे में अधिक जानें।
यह लेख जेफ़ कारपेंटर और पैट्रिक मैकफैडिन की O'Reilly पुस्तक " मैनेजिंग क्लाउड नेटिव डेटा ऑन कुबेरनेट्स " के अध्याय 7, "द कुबेरनेट्स नेटिव डेटाबेस" पर आधारित है।
[
जेफ कारपेंटर द्वारा, डेटास्टैक्स
जेफ कारपेंटर ने कई उद्योगों में एक सॉफ्टवेयर इंजीनियर और आर्किटेक्ट के रूप में काम किया है और डेटास्टैक्स में एक डेवलपर एडवोकेट के रूप में इंजीनियरों को अपाचे कैसेंड्रा के साथ सफल होने में मदद की है। वह कैसेंड्रा और कुबेरनेट्स इकोसिस्टम में कई ओपन सोर्स प्रोजेक्ट्स में शामिल है, जिसमें स्टारगेट और के8स्सेंड्रा शामिल हैं। वह O'Reilly पुस्तकों "Cassandra: The Definitive Guide" और "Managing Cloud Native Data on Kubernetes" के सह-लेखक हैं।