JSON दस्तावेज़ों को संभालने के लिए Apache Cassandra सबसे अच्छा डेटाबेस बनता जा रहा है। यदि आप एक कैसेंड्रा डेवलपर हैं जो उस बयान को उत्तेजक पाते हैं, तो आगे पढ़ें।
पिछले लेख में, हमने कैसेंड्रा को एक डेवलपर अनुभव में ढालने के लिए डेटा एपीआई और डेटा मॉडलिंग का उपयोग करने पर चर्चा की , जिस तरह से डेवलपर्स सोचते हैं, इस प्रकार उचित डेटाबेस प्रदर्शन और पैमाने को संरक्षित करते हुए डेवलपर उत्पादकता में सुधार होता है। यह एक महान परिकल्पना है और जिसे किसी विशेष डेवलपर मुहावरे और डेवलपर समुदाय के संदर्भ में परीक्षण करने की आवश्यकता है।
Mongoose , एक ऑब्जेक्ट डेटा मैपिंग लाइब्रेरी जो आमतौर पर MongoDB ड्राइवर के साथ उपयोग की जाती है, एक ओपन सोर्स प्रोजेक्ट है जिसके आसपास जावास्क्रिप्ट डेवलपर्स का एक महत्वपूर्ण समुदाय है। Stargate प्रोजेक्ट में, Cassandra के साथ काम करने के लिए डिज़ाइन किया गया ओपन सोर्स API डेटा गेटवे, हमने Mongoose के साथ साझेदारी की है, और हम एक आगामी JSON API पर काम कर रहे हैं जो Mongoose के एक संस्करण के साथ जारी किया जाएगा जो उस JSON के माध्यम से काम करेगा कैसंड्रा से जुड़ने के लिए एपीआई। यह Mongoose डेवलपर्स के लिए एंड-टू-एंड स्टैक बनाता है जो पूरी तरह से ओपन-सोर्स है। यह Mongoose डेवलपर्स के लिए गेम-चेंजिंग है, और कैसेंड्रा के लिए एक महत्वपूर्ण नया अध्याय खोलता है।
इस लेख में, मैं चर्चा करूँगा कि स्टारगेट के साथ कैसेंड्रा का उपयोग करके एक डेवलपर-अनुकूल JSON मुहावरा कैसे प्रदान किया जाए, और हम कैसे Mongoose डेवलपर्स के लिए ऐसा करने के लिए काम कर रहे हैं।
अक्टूबर 2022 में, हमने Stargate का नया वर्शन रिलीज़ किया। नए संस्करण 2 के साथ, अलग-अलग एपीआई अब कोर स्टार्गेट समन्वयक कोड में एम्बेडेड नहीं हैं, बल्कि अलग-अलग सेवाओं में अलग हो गए हैं। यह स्टारगेट की परिचालन दक्षता में सुधार करता है; व्यक्तिगत एपीआई सेवाओं को अब स्वतंत्र रूप से तैनात और बढ़ाया जा सकता है। इससे नई एपीआई सेवाओं को विकसित करना भी आसान हो जाता है। जब तक वे सेवा सीमा का पालन करते हैं, इन सेवाओं को कोर स्टार्गेट विकास कार्य के समानांतर और स्वतंत्र रूप से विकसित किया जा सकता है।
हमने तब वास्तव में मुहावरेदार अनुभव की तलाश की जिसे हम डेवलपर्स तक पहुंचा सकें। 18 मिलियन डेवलपर्स के साथ, जावास्क्रिप्ट दुनिया की सबसे लोकप्रिय प्रोग्रामिंग भाषा है, और JSON मानक तरीका है जिससे जावास्क्रिप्ट डेवलपर्स डेटा तैयार करते हैं। हालाँकि, 18 मिलियन लोग एक समुदाय नहीं हैं; यह कई समुदाय हैं। हमें जावास्क्रिप्ट समुदायों के "गोल्डीलॉक्स" की आवश्यकता थी - महत्वपूर्ण होने के लिए पर्याप्त बड़ा, लेकिन ध्यान केंद्रित करने के लिए पर्याप्त छोटा। हमें Mongoose के आसपास निर्मित सही समुदाय मिला, जो एक ऑब्जेक्ट डेटा मैपर लाइब्रेरी है जिसका उपयोग उन अनुप्रयोगों के साथ किया जाता है जो MongoDB से जुड़ते हैं। मोंगोज़ में कई महत्वपूर्ण विशेषताएं हैं:
डेवलपर्स वास्तव में डेटा मॉडल के रूप में डेटाबेस के साथ सीधे बातचीत नहीं करते हैं। Stargate के मूल दस्तावेज़ API में, API JSON को एक पारंपरिक कैसेंड्रा टेबल की तरह बनाकर संभालता है। यह कैसेंड्रा डेटा संरचनाओं के संदर्भ में सोचने के लिए JSON-उन्मुख डेवलपर्स पर बोझ डालता है, और कैसेंड्रा के पंक्ति-उन्मुख अनुक्रमण तर्क पर बोझ डालता है क्योंकि एक JSON दस्तावेज़ कई पंक्तियों में फैल जाता है।
हमारा नया JSON API इस डेटा मॉडल से हटकर है, और इसके बजाय एक डेटा मॉडल पर निर्भर करता है जिसे हम "सुपर श्रेडिंग" कहते हैं। हाल ही में कैसेंड्रा फॉरवर्ड इवेंट में हारून मॉर्टन की बातचीत को देखकर आप सुपर श्रेडिंग के बारे में अधिक जान सकते हैं। संक्षेप में, हम कैसेंड्रा की विस्तृत-स्तंभ प्रकृति का लाभ प्रति पंक्ति एक दस्तावेज़ को संग्रहीत करने के लिए लेते हैं, यह जानते हुए कि एक कैसेंड्रा पंक्ति बहुत बड़े दस्तावेज़ों को भी संभाल सकती है। हमारे पास उस पंक्ति में स्तंभों का एक सेट भी है जो स्पष्ट रूप से JSON दस्तावेज़ की मानक मेटाडेटा विशेषताओं को संग्रहीत करने के लिए है। अब हमारे पास कुछ और आसानी से अनुक्रमित करने योग्य है, साथ ही मेटाडेटा को संरक्षित करने और पुनर्प्राप्त करने का साधन भी है।
इसके बाद हम इस डेटा मॉडल को अपने नए JSON API के साथ सामने रखेंगे, उसी mQuery विनिर्देशन का उपयोग करते हुए जो Mongoose हमारी मार्गदर्शक आवश्यकता के रूप में उपयोग करता है जिसके लिए API को कॉल करने की आवश्यकता होती है। पूर्ण होने पर, यह 2 मिलियन से अधिक मानगो-आश्रित अनुप्रयोगों में से किसी को भी ओपन-सोर्स कैसेंड्रा या डेटास्टैक्स की होस्टेड कैसेंड्रा सेवा, एस्ट्रा डीबी के खिलाफ चलाने के लिए केवल एक कॉन्फ़िगरेशन परिवर्तन के साथ सक्षम करना चाहिए।
Mongoose और नए JSON API के साथ, हम JSON-उन्मुख जावास्क्रिप्ट डेवलपर्स को पूरी तरह से मुहावरेदार अनुभव प्रदान करेंगे, जिससे उन्हें एक प्रामाणिक JSON डेटा मॉडल को कैसेंड्रा का पैमाना और प्रदर्शन मिलेगा।
Mongoose निर्माता Karpov ने हाल ही में कैसेंड्रा फॉरवर्ड इवेंट (आप यहां रिप्ले देख सकते हैं) में भी बात की, एक साधारण ई-कॉमर्स एप्लिकेशन का प्रदर्शन किया जो Mongoose के Stargate संस्करण, ओपन सोर्स Stargate और Cassandra के DataStax Enterprise (DSE) संस्करण का उपयोग करता है। आप इस एप्लिकेशन के लिए वर्किंग कोड और GitHub से सहायक प्लेटफॉर्म डाउनलोड कर सकते हैं। जबकि हमारे पास इस एप्लिकेशन को चलाने के लिए पर्याप्त कोड है, हम अभी तक कोड पूर्ण नहीं हुए हैं। उदाहरण के लिए, अभी हम DSE के खिलाफ दौड़ रहे हैं क्योंकि हमें स्टोरेज-अटैच्ड इंडेक्सिंग (SAI) की जरूरत है, जो DSE के साथ काम करता है और इस साल के अंत में कैसेंड्रा 5.0 में रिलीज करने की योजना है।
कैसेंड्रा सॉफ्टवेयर का एक स्थिर टुकड़ा नहीं है; यह एक जीवंत और उभरता हुआ ओपन-सोर्स प्रोजेक्ट है। इसलिए हम SAI जैसी सुविधाओं का उपयोग करने की एक लंबे समय से चली आ रही Cassandra परंपरा को भी जारी रख रहे हैं जो डेटाबेस पक्ष में परिवर्तन को बढ़ावा देने के लिए क्लाइंट-साइड उभरती है। इसी तरह, Stargate के Mongoose के काम ने Cassandra के लिए वैश्विक प्रकार और उन्नत क्वेरी फ़िल्टरिंग के प्रस्तावों के एक सेट को प्रेरित किया है जो न केवल Stargate के JSON API और Mongoose क्लाइंट को बेहतर बनाएं, बल्कि कैसेंड्रा क्वेरी लैंग्वेज में शक्तिशाली नई सुविधाएँ जोड़ें। यह एक महान अनुस्मारक है कि डेटा इंजीनियर और एप्लिकेशन डेवलपर दो अलग-अलग समुदाय नहीं हैं, बल्कि विस्तारित कैसेंड्रा समुदाय के पूरक समूह हैं।
और JSON सिर्फ पहला कदम है। अनिवार्य रूप से, हमने जो किया है वह कैसेंड्रा, स्टारगेट और एक उचित कुशल कैसेंड्रा डेटा मॉडल के बिल्डिंग ब्लॉक्स को लेना है और एक दस्तावेज़ डेटाबेस का निर्माण करना है जिसे आप JSON एपीआई के माध्यम से इंटरैक्ट करते हैं। दूसरे शब्दों में, हमने एक उद्देश्य-निर्मित डेटाबेस बनाने के लिए सुपर श्रेडिंग का उपयोग किया है जो Mongoose Developers के समुदाय की बेहतर सेवा करता है।
Stargate v2 के मॉड्यूलर आर्किटेक्चर और मुहावरेदार दृष्टिकोण के लिए Mongoose के प्रूफ पॉइंट के साथ, हम नए डेवलपर समुदायों को लेने के लिए तैयार हैं जो एक विशेष सॉफ़्टवेयर डेवलपमेंट मुहावरे के आसपास व्यवस्थित होते हैं। जिस प्रक्रिया से हमने मोंगोज़ के लिए कैसेंड्रा का उपयोग किया है वह दोहराने योग्य है - और यह वह है जिसे हम दोहराएंगे। ऐसा करने में, हम नाटकीय रूप से डेवलपर्स की संख्या का विस्तार करते हैं और उन मामलों का उपयोग करते हैं जिन्हें कैसंड्रा संबोधित कर सकता है, जो एक ओपन-सोर्स प्रोजेक्ट के योग्य लक्ष्य है।
डेटास्टैक्स के बारे में अधिक जानें ।
मार्क स्टोन द्वारा। मार्क डेटास्टैक्स में उत्पाद प्रबंधक हैं। वह उत्पाद प्रबंधन, कार्यक्रम प्रबंधन और लोगों के प्रबंधन में कई वर्षों के अनुभव के साथ प्रौद्योगिकी के दिग्गज हैं। हमेशा व्यापार हितधारकों और तकनीकी हितधारकों के बीच संयोजी ऊतक के हिस्से के रूप में काम करते हुए, मार्क को प्रौद्योगिकी प्लेटफार्मों में डेवलपर अनुभव को चैंपियन बनाना और संगठनों को डेवलपर्स से मिलने में मदद करना पसंद है, जहां वे हैं।