जब तक इसे उत्पादन में नहीं डाला जाता है तब तक कोई एप्लिकेशन अधिक मूल्यवान नहीं होता है। डेवलपर्स के लिए, इस बिंदु पर जल्दी पहुंचने का मतलब है कि उन्हें डेटा तक आसान पहुंच की आवश्यकता है, जिसके लिए उन्हें डेटाबेस को कताई, प्रबंधन और रखरखाव के विवरण के बारे में चिंता किए बिना निर्माण करने की आवश्यकता है।
एपीआई डेटाबेस से अनुप्रयोगों को जोड़ने के लिए वास्तविक मानक बन गए हैं, लेकिन यह हमेशा ऐसा नहीं था। यहां हम चर्चा करेंगे कि एपीआई के रूप में डेटाबेस को उजागर करने के महत्व को बढ़ाने के लिए सॉफ्टवेयर की दुनिया में क्या बदलाव आया है। हम स्टारगेट पर भी चर्चा करेंगे, ओपन सोर्स प्रोजेक्ट जो सरल करता है कि डेवलपर्स इन एपीआई के साथ कैसे काम कर सकते हैं (स्टारगेट का नवीनतम संस्करण, जिसमें स्केलेबिलिटी और लचीलेपन में सुधार शामिल है, हाल ही में जारी किया गया था )।
डेटाबेस एडमिनिस्ट्रेटर (डीबीए) प्रश्नों के प्रभारी हुआ करते थे, क्योंकि डेवलपर्स को डेटा के साथ इंटरैक्ट करने के तरीके को डिजाइन करने के लिए एक डेटाबेस विशेषज्ञ की आवश्यकता होती थी। लेकिन हाल तक, डेवलपर्स से डेटाबेस के साथ बातचीत करने के बारे में बहुत कुछ जानने की उम्मीद की जाती थी, भले ही वे SQL, क्वेरीज़ या डेटा मॉडल के विशेषज्ञ न हों।
मैं 1990 के दशक में एक कुशल डेवलपर था, लेकिन डेटाबेस ने मुझे डरा दिया। SQL के साथ काम करने में मुझे सहज महसूस करने में कई साल लग गए। बस एक "एसक्यूएल हमशक्ल" की पेशकश भी पर्याप्त नहीं है। CQL (कैसेंड्रा क्वेरी लैंग्वेज) लें, जिसे Apache Cassandra के साथ संवाद करने के लिए SQL के समान क्वेरी भाषा की पेशकश करने के लिए विकसित किया गया था। कैसेंड्रा के साथ संवाद करने के लिए एक अमूर्तता प्रदान करने का विचार था, जिससे रिलेशनल डेटाबेस के साथ सहज होने वालों के लिए ऐसा करना आसान हो गया।
लेकिन नेटवर्क की दुनिया में, हमारे पास पहचान, अनुमतियों और सुरक्षा की नई अवधारणाएँ हैं जो क्वेरी भाषा से पूरी तरह अलग हैं। एक ड्राइवर की धारणा बस एक बाइनरी प्रोटोकॉल पर संचार करती है जो क्लाउड में अच्छी तरह से काम नहीं करती है। HTTP क्लाउड के लिए मूलभूत अनुप्रयोग परत प्रोटोकॉल है लेकिन अधिकांश HTTP-आधारित API धीमे हैं। वितरित सिस्टम में रीयल-टाइम संचार के लिए जीआरपीसी जैसा कम-विलंबता विकल्प महत्वपूर्ण है।
क्लाइंट या ऐप सर्वर डेटाबेस से बात करने के लिए जिस मानक तरीके का इस्तेमाल करते हैं, उसमें डेटा सेंटर के भीतर चलने वाले ड्राइवर शामिल होते हैं। अब सब कुछ क्लाउड में चल रहा है, लेकिन डेवलपर्स विभिन्न भाषाओं में लिखते हैं। जावास्क्रिप्ट , पायथन या विभिन्न ढांचे के किसी भी मेजबान का उपयोग किया जा सकता है, इसलिए जिस माध्यम से सॉफ़्टवेयर डेटा तक पहुंचता है उसे क्लासिक डेटाबेस ड्राइवरों से अलग तरीके से अलग करने की आवश्यकता होती है - एपीआई (जेएसओएन, जीआरपीसी, ग्राफक्यूएल या दस्तावेज़) का उपयोग करके डेवलपर्स सहज हैं।
सॉफ्टवेयर से बात करने का आधुनिक तरीका एक एपीआई है; यह अमूर्त परत है जो डेटाबेस की जटिलताओं को छुपाती है।
डेटा कहीं अधिक एकसमान हुआ करता था; यह डेटाबेस तालिकाओं में पंक्तियों और स्तंभों में बड़े करीने से फिट होता है। लेकिन डेटा की गतिशीलता बदल गई है। डेटा इन-मेमोरी अभ्यावेदन से डेटाबेस में बिना किसी हस्तक्षेप सॉफ़्टवेयर के सहज तरीके से वापस चला जाता है। और हम नए प्रकार के डेटा प्रारूपों के साथ काम कर रहे हैं जो उन डेटा आदिमों की तुलना में बहुत अधिक मजबूत हैं जिनके साथ लोग व्यवहार करते थे - या आधा दर्जन या इतने डेटा प्रकार जिन्हें SQL संभाल सकता था।
एपीआई वह तरीका है जिससे आज के डेवलपर डेटाबेस के साथ काम करते हैं। यहाँ इसका सारांश है कि क्यों:
डेटा एपीआई गेटवे सॉफ्टवेयर इन्फ्रास्ट्रक्चर का एक टुकड़ा है जो REST, gRPC और अन्य सहित विभिन्न शैलियों के एपीआई के माध्यम से डेटा तक पहुंच प्रदान करता है। गेटवे एक या अधिक स्थायी स्टोर का उपयोग करके डेटा को संग्रहीत करने और पुनर्प्राप्त करने के विवरण को सार करता है। यह एप्लिकेशन डेवलपर्स को डेटाबेस क्वेरी भाषा की जटिलताओं को सीखने के बजाय उपयोग में आसान एपीआई के माध्यम से डेटा तक पहुंचने वाली व्यावसायिक सेवाओं को लिखने पर ध्यान केंद्रित करने में सक्षम बनाता है।
स्टारगेट एक ओपन सोर्स डेटा एपीआई गेटवे है जो ऐप और डेटाबेस के बीच बैठता है जिसे इसे क्वेरी करने की आवश्यकता होती है। इसे पहली बार सितंबर 2020 में पेश किया गया था, और अपाचे कैसेंड्रा को पहले डेटाबेस के रूप में चुना गया था क्योंकि यह दुनिया की सबसे कठिन मापनीयता और उपलब्धता की चुनौतियों को हल करता है।
एक डेटा एपीआई गेटवे आपके डेवलपर्स को उत्पादकता और प्रदर्शन के बीच ट्रेडऑफ़ की एक श्रृंखला प्रदान करते हुए, उनके परिचित ढांचे और संरचनाओं में काम करने में सक्षम बनाने का एक शक्तिशाली तरीका है। Stargate REST, दस्तावेज़ और ग्राफ़िकल को सरल API के रूप में प्रस्तुत करके कैसेंड्रा की शक्ति प्रदान करता है। यह जीआरपीसी पर सीक्यूएल करने के लिए जीआरपीसी पुस्तकालयों का एक सेट भी प्रदान करता है, जो प्रदर्शन का त्याग किए बिना सीक्यूएल के लिए देशी ड्राइवरों के लिए एक आसान, हल्का और अधिक क्लाउड-फ्रेंडली विकल्प है।
इस वर्ष, DataStax में Stargate इंजीनियरिंग टीम Stargate के आर्किटेक्चरल अपडेट पर काम कर रही है। Stargate v2, जैसा कि हम इसे कहते हैं, अक्टूबर 2022 में रिलीज़ किया गया था। Stargate डेवलपर समुदाय से मिले फ़ीडबैक के आधार पर, Stargate v2 में हमने कुछ महत्वपूर्ण अपडेट किए हैं जो डेवलपर्स के लिए उपयोग करना और समुदाय के लिए प्रोजेक्ट में योगदान करना आसान बनाते हैं। सबसे महत्वपूर्ण बात, Stargate v2 का उच्च-प्रदर्शन gRPC API मूल डेटाबेस ड्राइवरों के बराबर गति प्रदान कर सकता है। यह डेवलपर्स को क्लाउड-फ्रेंडली नेटवर्क प्रोटोकॉल जैसे HTTP का उपयोग करने में सक्षम बनाता है, जिससे वायर पर कोई प्रदर्शन हानि नहीं होती है।
डेवलपर्स के एक बड़े पूल के साथ महीने की कोई टॉप-डाउन रणनीति या एपीआई फ्लेवर कभी भी संपर्क में नहीं रहा। Stargate v2 का एक प्रमुख लक्ष्य कार्यान्वयन को समझने, डिबग करने, बढ़ाने और विस्तार करने में आसान बनाकर समुदाय को जल्दी और आसानी से नई एपीआई सेवाओं को जोड़ने में सक्षम बनाना है।
एक नई एपीआई सेवा जोड़ना अब बहुत आसान है, और आरईएसटी, ग्राफक्यूएल और दस्तावेज़ एपीआई सेवाओं के लिए स्रोत कोड डेवलपर्स को शिक्षाप्रद उदाहरण कोड प्रदान करता है जो दिखाता है कि एक समाप्त एपीआई सेवा कैसी दिखनी चाहिए।
एपीआई स्तर मल्टीमॉडल होना चाहिए; विकासकर्ता चाहते हैं कि उनका पसंदीदा एपीआई आसानी से उपलब्ध हो, बजाय इसके कि उन्हें अपने विकास कार्य को एक अलग एपीआई के अनुकूल बनाने के लिए मजबूर किया जाए। और अगर एपीआई उपलब्ध नहीं है, तो एपीआई स्तर को अनुकूलित करने में सक्षम होना चाहिए।
डेटाबेस के सामने कोड फेंकना सालों से किया जा रहा है। लेकिन वास्तव में एक ऐसा प्लेटफॉर्म बनाना जो आपके डेटाबेस के साथ स्केल कर सके - और अनुकूलनीय और विश्वसनीय हो - कुछ नया है। यदि आप कैसेंड्रा का उपयोग कर रहे हैं, तो आप शायद पहले से ही एक उच्च-विकास ऐप हैं - या एक बनने के इच्छुक हैं। तो जो कुछ भी इसके सामने बैठता है उसे उच्च विकास वाले वातावरण की सुविधा प्रदान करनी चाहिए। स्टारगेट ने कैसेंड्रा समन्वयक कोड के एक कांटे के रूप में जीवन शुरू किया, इसलिए यह बहुत अधिक विश्वसनीयता और उपलब्धता प्राप्त करता है जिसके लिए कैसेंड्रा अच्छी तरह से जाना जाता है।
एपीआई स्तर को बड़े पैमाने पर संचालन करने में पूरी तरह से सक्षम होना चाहिए, इसलिए स्टार्गेट v2 का एक और लक्ष्य इसे और अधिक क्लाउड-अनुकूल बनाना था। स्टारगेट की मापनीयता को सुविधाजनक बनाने के लिए कई बदलावों में शामिल हैं:
स्टारगेट अब पूरी तरह से कंटेनरीकृत है और कुबेरनेट्स पॉड्स के भीतर चलता है, जो ऑपरेटरों को इस बात पर अधिक नियंत्रण देता है कि कार्यभार कैसे बढ़ाया जा सकता है।
एपीआई सेवाओं को अखंड स्टारगेट नोड से अलग माइक्रोसर्विसेज में स्थानांतरित कर दिया गया है, जो प्रत्येक एपीआई को स्वतंत्र रूप से स्केल करने में सक्षम करेगा।
स्टोरेज नोड्स और कोऑर्डिनेटर नोड्स स्वतंत्र रूप से परिनियोजन योग्य और स्केलेबल हैं, साथ ही ऑपरेटरों को वर्कलोड कैसे स्केल कर सकते हैं, इस पर अधिक नियंत्रण देते हैं।
यदि कोई वर्कलोड क्वेरी- या स्टोरेज-इंटेंसिव है, तो इसे पूरे क्लस्टर को एक पूरे के रूप में स्केल किए बिना ट्यून किया जा सकता है।
प्रौद्योगिकी की दुनिया में क्लाउड डेटा सेवाएं प्रमुख विषय बन गई हैं, इसलिए इसमें कोई आश्चर्य की बात नहीं है कि डेवलपर्स विशिष्ट डेटाबेस के लिए अद्वितीय मुहावरों के बजाय JSON जैसे डेटा सार के संदर्भ में सोचते हैं। स्टारगेट डेवलपर्स से मिलने के लिए कड़ी मेहनत की पराकाष्ठा है, जहां वे हैं, उन्हें उन रूपरेखाओं और संरचनाओं में काम करने में सक्षम बनाते हैं जिनसे वे परिचित हैं।
यहां स्टारगेट के बारे में और जानें।
यहाँ भी प्रकाशित हुआ।