डेटा प्लेटफ़ॉर्म के निर्माण में विभिन्न दृष्टिकोण शामिल होते हैं, जिनमें से प्रत्येक की अपनी जटिलताओं और समाधानों का अनूठा मिश्रण होता है। एक आधुनिक डेटा प्लेटफ़ॉर्म में कई परतों में डेटा को बनाए रखना, उच्च प्रदर्शन, विकास में आसानी, लागत-प्रभावशीलता और सीआई/सीडी, वंशावली और यूनिट परीक्षण जैसी डेटाऑप्स सुविधाओं जैसी विविध प्लेटफ़ॉर्म क्षमताओं को लक्षित करना शामिल है। इस पोस्ट में, हम खुदरा उपयोग के मामले के मामले के अध्ययन में गहराई से उतरेंगे और पता लगाएंगे कि कैसे डेटा बिल्ड टूल (डीबीटी) उच्च-प्रदर्शन, कुशल और आधुनिक डेटा प्लेटफ़ॉर्म बनाने के लिए AWS वातावरण में प्रभावी ढंग से उपयोग किया गया था।
डीबीटी एक ओपन-सोर्स कमांड लाइन टूल है जो डेटा विश्लेषकों और इंजीनियरों को अपने गोदामों में डेटा को अधिक प्रभावी ढंग से बदलने में सक्षम बनाता है। यह टीमों को ईटीएल (एक्सट्रेक्ट, ट्रांसफॉर्म और लोड) प्रक्रियाओं में टी को संभालने में मदद करके ऐसा करता है। यह उपयोगकर्ताओं को डेटा ट्रांसफ़ॉर्मेशन कोड लिखने, उसे चलाने और आउटपुट का परीक्षण करने की अनुमति देता है, यह सब इसके द्वारा प्रदान किए गए ढांचे के भीतर होता है। dbt आपको SQL चयन कथन लिखने में सक्षम बनाता है, और फिर यह इन चयन कथनों को तालिकाओं या दृश्यों में बदलने का प्रबंधन करता है अमेज़न रेडशिफ्ट.
उदाहरण
एक बड़े ज्वेलरी रिटेलर के एंटरप्राइज डेटा एनालिटिक्स समूह ने 2021 में AWS के साथ अपनी क्लाउड यात्रा शुरू की। अपनी क्लाउड आधुनिकीकरण पहल के हिस्से के रूप में, उन्होंने अपने विरासत डेटा प्लेटफ़ॉर्म को स्थानांतरित करने और आधुनिकीकरण करने की मांग की। इसका उद्देश्य उनकी विश्लेषणात्मक क्षमताओं को बढ़ाना और डेटा पहुंच में सुधार करना था, साथ ही बाजार में त्वरित समय और उच्च डेटा गुणवत्ता सुनिश्चित करना था, यह सब स्वामित्व की कुल लागत (टीसीओ) के साथ और अतिरिक्त टूल या लाइसेंस की कोई आवश्यकता नहीं थी।
dbt उनके मौजूदा AWS परिवेश में इस परिवर्तन के लिए सही विकल्प के रूप में उभरा। डेटा वेयरहाउस परिवर्तनों के लिए इस लोकप्रिय ओपन-सोर्स टूल ने कई कारणों से अन्य ईटीएल टूल्स पर जीत हासिल की। डीबीटी के एसक्यूएल-आधारित ढांचे ने इसे सीखना आसान बना दिया और मौजूदा विकास टीम को तेजी से आगे बढ़ने की अनुमति दी। टूल ने डेटा वंशावली, दस्तावेज़ीकरण और यूनिट परीक्षण जैसी वांछनीय आउट-ऑफ़-द-बॉक्स सुविधाएँ भी प्रदान कीं। संग्रहीत प्रक्रियाओं की तुलना में डीबीटी का एक महत्वपूर्ण लाभ डेटा से कोड को अलग करना था - संग्रहीत प्रक्रियाओं के विपरीत, डीबीटी कोड को डेटाबेस में ही संग्रहीत नहीं करता है। यह पृथक्करण डेटा प्रबंधन को और सरल बनाता है और सिस्टम के समग्र प्रदर्शन को बढ़ाता है।
आइए आर्किटेक्चर का पता लगाएं और जानें कि AWS क्लाउड सेवाओं का उपयोग करके इस उपयोग के मामले को कैसे बनाया जाए।
समाधान अवलोकन
निम्नलिखित आर्किटेक्चर रेडशिफ्ट डेटा वेयरहाउस ईटीएल प्रक्रिया को प्रबंधित करने के लिए डीबीटी पर निर्मित डेटा पाइपलाइन को प्रदर्शित करता है।
चित्र 1: AWS डेटा सेवाओं और dbt का उपयोग करने वाला आधुनिक डेटा प्लेटफ़ॉर्म
इस आर्किटेक्चर में निम्नलिखित प्रमुख सेवाएँ और उपकरण शामिल हैं:
- अमेज़न रेडशिफ्ट इसका उपयोग डेटा प्लेटफ़ॉर्म के लिए डेटा वेयरहाउस के रूप में किया गया था, जो बड़ी मात्रा में संरचित और अर्ध-संरचित डेटा को संग्रहीत और संसाधित करता था
- अमेज़न क्विकसाइट बिजनेस इंटेलिजेंस (बीआई) टूल के रूप में कार्य किया गया, जिससे बिजनेस टीम को विभिन्न बिजनेस अंतर्दृष्टि के लिए विश्लेषणात्मक रिपोर्ट और डैशबोर्ड बनाने की अनुमति मिली।
- एडब्ल्यूएस डेटाबेस प्रवासन सेवा (एडब्ल्यूएस डीएमएस) को विभिन्न स्रोत लेनदेन डेटाबेस से परिवर्तन डेटा कैप्चर (सीडीसी) प्रतिकृति करने के लिए नियोजित किया गया था
- एडब्ल्यूएस गोंद को एसएफटीपी स्थान से फाइलों को लोड करने के काम में लगाया गया था अमेज़न सरल भंडारण सेवा (अमेज़ॅन एस3) लैंडिंग बकेट और उसके बाद रेडशिफ्ट लैंडिंग स्कीमा
- AWS लाम्बा क्लाइंट प्रोग्राम के रूप में कार्य करता है, तृतीय-पक्ष API को कॉल करता है और डेटा को Redshift तालिकाओं में लोड करता है
- AWS फरगेट, एक सर्वर रहित कंटेनर प्रबंधन सेवा, का उपयोग स्रोत कतारों और विषयों के लिए उपभोक्ता एप्लिकेशन को तैनात करने के लिए किया गया था
- Apache Airflow के लिए Amazon प्रबंधित वर्कफ़्लो (अमेज़ॅन एमडब्ल्यूएए) का उपयोग डीबीटी पाइपलाइनों के विभिन्न कार्यों को व्यवस्थित करने के लिए किया गया था
- डीबीटी, एक ओपन-सोर्स टूल, को अमेज़ॅन रेडशिफ्ट में संग्रहीत डेटा के लिए एसक्यूएल-आधारित डेटा पाइपलाइन लिखने के लिए नियोजित किया गया था, जो जटिल परिवर्तनों की सुविधा प्रदान करता था और डेटा मॉडलिंग क्षमताओं को बढ़ाता था।
आइए प्रत्येक घटक पर करीब से नज़र डालें और कच्चे डेटा को व्यावहारिक जानकारी में बदलने के लिए समग्र वास्तुकला में वे कैसे बातचीत करते हैं।
डाटा के स्रोत
इस डेटा प्लेटफ़ॉर्म के हिस्से के रूप में, हम विविध और विविध डेटा स्रोतों से डेटा प्राप्त कर रहे हैं, जिनमें शामिल हैं:
- लेन-देन संबंधी डेटाबेस - ये सक्रिय डेटाबेस हैं जो विभिन्न अनुप्रयोगों से वास्तविक समय डेटा संग्रहीत करते हैं। डेटा में आम तौर पर वे सभी लेनदेन और संचालन शामिल होते हैं जिनमें व्यवसाय संलग्न होता है।
- कतारें और विषय – कतारें और विषय विभिन्न एकीकरण अनुप्रयोगों से आते हैं जो वास्तविक समय में डेटा उत्पन्न करते हैं। वे सूचना की एक तात्कालिक धारा का प्रतिनिधित्व करते हैं जिसका उपयोग वास्तविक समय विश्लेषण और निर्णय लेने के लिए किया जा सकता है।
- तृतीय-पक्ष एपीआई - ये ईकॉमर्स वेबसाइटों से संबंधित विश्लेषण और सर्वेक्षण डेटा प्रदान करते हैं। इसमें ट्रैफ़िक मेट्रिक्स, उपयोगकर्ता व्यवहार, रूपांतरण दर, ग्राहक प्रतिक्रिया और बहुत कुछ जैसे विवरण शामिल हो सकते हैं।
- फ्लैट फ़ाइलें - अन्य प्रणालियाँ विभिन्न प्रारूपों की फ़्लैट फ़ाइलों के रूप में डेटा की आपूर्ति करती हैं। एसएफटीपी स्थान पर संग्रहीत इन फ़ाइलों में रिकॉर्ड, रिपोर्ट, लॉग या अन्य प्रकार के कच्चे डेटा हो सकते हैं जिन्हें आगे संसाधित और विश्लेषण किया जा सकता है।
डेटा अंतर्ग्रहण
विभिन्न स्रोतों से प्राप्त डेटा को दो प्रमुख श्रेणियों में बांटा गया है: वास्तविक समय अंतर्ग्रहण और बैच अंतर्ग्रहण।
वास्तविक समय अंतर्ग्रहण निम्नलिखित सेवाओं का उपयोग करता है:
- एडब्ल्यूएस डीएमएस - AWS DMS का उपयोग OLTP (ऑनलाइन ट्रांजेक्शन प्रोसेसिंग) डेटाबेस से CDC प्रतिकृति पाइपलाइन बनाने के लिए किया जाता है। यह सुनिश्चित करने के लिए कि नवीनतम जानकारी विश्लेषण के लिए उपलब्ध है, डेटा को वास्तविक समय में अमेज़ॅन रेडशिफ्ट में लोड किया जाता है। आप भी उपयोग कर सकते हैं अमेज़न रेडशिफ्ट के साथ अमेज़न अरोरा शून्य-ईटीएल एकीकरण OLTP डेटाबेस से सीधे Amazon Redshift में डेटा अंतर्ग्रहण करने के लिए।
- फ़ार्गेट -फ़ार्गेट का उपयोग जावा उपभोक्ता अनुप्रयोगों को तैनात करने के लिए किया जाता है जो वास्तविक समय में स्रोत विषयों और कतारों से डेटा प्राप्त करते हैं। यह वास्तविक समय डेटा खपत व्यवसाय को तत्काल और डेटा-सूचित निर्णय लेने में मदद कर सकती है। आप भी उपयोग कर सकते हैं अमेज़ॅन रेडशिफ्ट स्ट्रीमिंग अंतर्ग्रहण जैसे स्ट्रीमिंग इंजन से डेटा ग्रहण करना अमेज़न Kinesis डेटा स्ट्रीम or Apache Kafka के लिए Amazon प्रबंधित स्ट्रीमिंग (अमेज़ॅन एमएसके) अमेज़ॅन रेडशिफ्ट में।
बैच अंतर्ग्रहण निम्नलिखित सेवाओं का उपयोग करता है:
- lambda - लैम्ब्डा का उपयोग तीसरे पक्ष के एपीआई को कॉल करने और परिणामी डेटा को रेडशिफ्ट तालिकाओं में लोड करने के लिए क्लाइंट के रूप में किया जाता है। विश्लेषण के लिए ताज़ा डेटा का एक सुसंगत बैच सुनिश्चित करते हुए, इस प्रक्रिया को प्रतिदिन चलाने के लिए निर्धारित किया गया है।
- एडब्ल्यूएस गोंद - AWS ग्लू का उपयोग S3 डेटा लेक के माध्यम से Amazon Redshift में फ़ाइलें लोड करने के लिए किया जाता है। आप जैसी सुविधाओं का भी उपयोग कर सकते हैं Amazon S3 से ऑटो-कॉपी (पूर्वावलोकन के तहत सुविधा) अमेज़न S3 से अमेज़न रेडशिफ्ट में डेटा ग्रहण करने के लिए। हालाँकि, इस पोस्ट का फोकस डेटा लोडिंग प्रक्रिया के बजाय अमेज़न रेडशिफ्ट के भीतर डेटा प्रोसेसिंग पर अधिक है। डेटा अंतर्ग्रहण, चाहे वास्तविक समय हो या बैच, किसी भी प्रभावी डेटा विश्लेषण का आधार बनता है, जो संगठनों को विभिन्न स्रोतों से जानकारी इकट्ठा करने और व्यावहारिक निर्णय लेने के लिए इसका उपयोग करने में सक्षम बनाता है।
Amazon Redshift का उपयोग करके डेटा वेयरहाउसिंग
अमेज़ॅन रेडशिफ्ट में, हमने तीन स्कीमा स्थापित किए हैं, जिनमें से प्रत्येक डेटा आर्किटेक्चर में एक अलग परत के रूप में कार्य करता है:
- लैंडिंग परत - यह वह जगह है जहां हमारी सेवाओं द्वारा ग्रहण किया गया सारा डेटा प्रारंभ में आता है। यह सीधे स्रोत से प्राप्त कच्चा, असंसाधित डेटा है।
- प्रमाणित डेटासेट (सीडीएस) परत - यह अगला चरण है, जहां लैंडिंग परत से डेटा की सफाई, सामान्यीकरण और एकत्रीकरण किया जाता है। साफ़ और संसाधित डेटा इस प्रमाणित डेटासेट स्कीमा में संग्रहीत किया जाता है। यह डाउनस्ट्रीम डेटा विश्लेषण के लिए एक विश्वसनीय, संगठित स्रोत के रूप में कार्य करता है।
- उपयोगकर्ता के अनुकूल डेटा मार्ट (यूएफडीएम) परत - यह अंतिम परत डेटा मार्ट टेबल बनाने के लिए सीडीएस परत से डेटा का उपयोग करती है। इन्हें विशेष रूप से व्यावसायिक आवश्यकताओं के अनुसार बीआई रिपोर्ट और डैशबोर्ड का समर्थन करने के लिए तैयार किया गया है। इस परत का लक्ष्य डेटा को ऐसे तरीके से प्रस्तुत करना है जो अंतिम उपयोगकर्ताओं के लिए सबसे उपयोगी और सुलभ हो।
डेटा प्रबंधन के लिए यह स्तरित दृष्टिकोण कुशल और संगठित डेटा प्रोसेसिंग की अनुमति देता है, जिससे अधिक सटीक और सार्थक अंतर्दृष्टि प्राप्त होती है।
डेटा पाइपलाइन
dbt, एक ओपन-सोर्स टूल, AWS वातावरण में स्थापित किया जा सकता है और Amazon MWAA के साथ काम करने के लिए सेट किया जा सकता है। हम अपने कोड को S3 बकेट में संग्रहीत करते हैं और एयरफ़्लो के डायरेक्टेड एसाइक्लिक ग्राफ़ (DAGs) का उपयोग करके इसे व्यवस्थित करते हैं। लैंडिंग स्कीमा में डेटा शामिल होने के बाद यह सेटअप अमेज़ॅन रेडशिफ्ट में हमारी डेटा परिवर्तन प्रक्रियाओं को सुविधाजनक बनाता है।
मॉड्यूलरिटी बनाए रखने और विशिष्ट डोमेन को संभालने के लिए, हम व्यक्तिगत डीबीटी प्रोजेक्ट बनाते हैं। डेटा रिपोर्टिंग की प्रकृति - वास्तविक समय या बैच - प्रभावित करती है कि हम अपने डीबीटी भौतिकीकरण को कैसे परिभाषित करते हैं। वास्तविक समय की रिपोर्टिंग के लिए, हम भौतिकीकरण को एक दृश्य के रूप में परिभाषित करते हैं, डेटाबेस अपडेट से या विषय या कतार उपभोक्ताओं से एडब्ल्यूएस डीएमएस का उपयोग करके लैंडिंग स्कीमा में डेटा लोड करते हैं। बैच पाइपलाइनों के लिए, हम भौतिकीकरण को एक तालिका के रूप में परिभाषित करते हैं, जो विभिन्न प्रकार के स्रोतों से डेटा लोड करने की अनुमति देता है।
कुछ उदाहरणों में, हमें डेटा पाइपलाइनों का निर्माण करना पड़ा है जो स्रोत प्रणाली से लेकर यूएफडीएम परत तक फैली हुई हैं। इसे एयरफ्लो डीएजी का उपयोग करके पूरा किया जा सकता है, जिस पर हम अगले भाग में आगे चर्चा करेंगे।
अंत में, यह उल्लेख करना उचित है कि हम लैम्ब्डा फ़ंक्शन का उपयोग करके एक डीबीटी वेबपेज तैनात करते हैं और इस फ़ंक्शन के लिए एक यूआरएल सक्षम करते हैं। यह वेबपेज दस्तावेज़ीकरण और डेटा वंशावली के लिए एक केंद्र के रूप में कार्य करता है, जो हमारी डेटा प्रक्रियाओं की पारदर्शिता और समझ को और बढ़ाता है।
ईटीएल जॉब ऑर्केस्ट्रेशन
हमारी डेटा पाइपलाइन में, हम जॉब ऑर्केस्ट्रेशन के लिए इन चरणों का पालन करते हैं:
- एक नया Amazon MWAA वातावरण स्थापित करें। यह वातावरण हमारी डेटा पाइपलाइनों को व्यवस्थित करने के लिए केंद्रीय केंद्र के रूप में कार्य करता है।
- अपने में निम्नलिखित निर्भरता जोड़कर नए एयरफ्लो वातावरण में डीबीटी स्थापित करें
requirements.txt
: - विशिष्ट कार्यों के साथ डीएजी विकसित करें जो आवश्यक परिवर्तनों को पूरा करने के लिए डीबीटी कमांड को बुलाते हैं। इस चरण में हमारे वर्कफ़्लो को इस तरह से संरचित करना शामिल है जो कार्यों के बीच निर्भरता को पकड़ता है और यह सुनिश्चित करता है कि कार्य सही क्रम में चलते हैं। निम्नलिखित कोड दिखाता है कि DAG में कार्यों को कैसे परिभाषित किया जाए:
- ऐसे डीएजी बनाएं जो पूरी तरह से डीबीटी परिवर्तन पर ध्यान केंद्रित करें। ये डीएजी हमारी डेटा पाइपलाइनों के भीतर परिवर्तन प्रक्रिया को संभालते हैं, कच्चे डेटा को मूल्यवान अंतर्दृष्टि में परिवर्तित करने के लिए डीबीटी की शक्ति का उपयोग करते हैं।
निम्न छवि दिखाती है कि यह वर्कफ़्लो एयरफ़्लो यूआई पर कैसे देखा जाएगा।
- अंतर्ग्रहण के लिए AWS गोंद के साथ DAG बनाएं। ये DAG डेटा अंतर्ग्रहण कार्यों के लिए AWS ग्लू का उपयोग करते हैं। AWS ग्लू एक पूरी तरह से प्रबंधित ETL सेवा है जो विश्लेषण के लिए डेटा तैयार करना और लोड करना आसान बनाती है। हम डीएजी बनाते हैं जो विभिन्न स्रोतों से डेटा निकालने, उसे बदलने और उसे हमारे डेटा वेयरहाउस में लोड करने के लिए एडब्ल्यूएस ग्लू नौकरियों को व्यवस्थित करते हैं।
निम्न छवि दिखाती है कि यह वर्कफ़्लो एयरफ़्लो यूआई पर कैसे देखा जाएगा।
- अंतर्ग्रहण के लिए लैम्ब्डा के साथ डीएजी बनाएं। लैम्ब्डा हमें सर्वर का प्रावधान या प्रबंधन किए बिना कोड चलाने की सुविधा देता है। ये डीएजी तृतीय-पक्ष एपीआई को कॉल करने और हमारी रेडशिफ्ट तालिकाओं में डेटा लोड करने के लिए लैम्ब्डा फ़ंक्शन का उपयोग करते हैं, जिन्हें निश्चित अंतराल पर या विशिष्ट घटनाओं के जवाब में चलाने के लिए शेड्यूल किया जा सकता है।
निम्न छवि दिखाती है कि यह वर्कफ़्लो एयरफ़्लो यूआई पर कैसे देखा जाएगा।
अब हमारे पास एक व्यापक, सुव्यवस्थित प्रक्रिया है जो अंतर्ग्रहण से लेकर परिवर्तन तक, हमारी डेटा पाइपलाइन के विभिन्न चरणों को संभालने के लिए विभिन्न प्रकार की AWS सेवाओं का उपयोग करती है।
निष्कर्ष
AWS सेवाओं और dbt ओपन-सोर्स प्रोजेक्ट का संयोजन आधुनिक डेटा प्लेटफ़ॉर्म के निर्माण के लिए एक शक्तिशाली, लचीला और स्केलेबल समाधान प्रदान करता है। यह उपयोग में आसान, एसक्यूएल-आधारित ढांचे और डेटा गुणवत्ता जांच, कॉन्फ़िगर करने योग्य लोड प्रकार और विस्तृत दस्तावेज़ीकरण और वंशावली जैसी सुविधाओं के साथ प्रबंधनीयता और कार्यक्षमता का एक आदर्श मिश्रण है। इसके "डेटा से अलग कोड" और पुन: प्रयोज्यता के सिद्धांत इसे उपयोगकर्ताओं की एक विस्तृत श्रृंखला के लिए एक सुविधाजनक और कुशल उपकरण बनाते हैं। एक खुदरा संगठन के लिए डेटा प्लेटफ़ॉर्म बनाने का यह व्यावहारिक उपयोग मामला डेटा प्रबंधन और विश्लेषण को बदलने के लिए एडब्ल्यूएस और डीबीटी की विशाल क्षमता को प्रदर्शित करता है, जिससे तेज़ अंतर्दृष्टि और सूचित व्यावसायिक निर्णयों का मार्ग प्रशस्त होता है।
Amazon Redshift के साथ dbt का उपयोग करने के बारे में अधिक जानकारी के लिए देखें Amazon Redshift में dbt के साथ डेटा ट्रांसफ़ॉर्मेशन प्रबंधित करें.
लेखक के बारे में
प्रान्तिक गच्छयात् इंफोसिस में एक एंटरप्राइज़ आर्किटेक्ट हैं जिनके पास विभिन्न प्रौद्योगिकी क्षेत्रों और व्यावसायिक डोमेन में अनुभव है। उनके पास बड़े उद्यमों को डिजिटल प्लेटफ़ॉर्म को आधुनिक बनाने और जटिल परिवर्तन कार्यक्रम प्रदान करने में मदद करने का एक सिद्ध ट्रैक रिकॉर्ड है। प्रांतिक AWS में आधुनिक डेटा और एनालिटिक्स प्लेटफ़ॉर्म तैयार करने में माहिर है। प्रांतिक को नई तकनीकी प्रवृत्तियों की खोज करना और खाना बनाना पसंद है।
आशुतोष दुबे न्यू जर्सी, यूएसए स्थित अमेज़ॅन वेब सर्विसेज में एक वरिष्ठ पार्टनर सॉल्यूशंस आर्किटेक्ट और ग्लोबल टेक लीडर हैं। उनके पास डेटा और एनालिटिक्स और जेनरेटिव एआई सहित एआईएमएल क्षेत्र में विशेषज्ञता का व्यापक अनुभव है, उन्होंने विभिन्न तकनीकी सामग्री लिखकर समुदाय में योगदान दिया है, और फॉर्च्यून 500 कंपनियों को एडब्ल्यूएस की क्लाउड यात्रा में मदद की है।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोडेटा.नेटवर्क वर्टिकल जेनरेटिव एआई। स्वयं को शक्तिवान बनाएं। यहां पहुंचें।
- प्लेटोआईस्ट्रीम। Web3 इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- प्लेटोईएसजी. कार्बन, क्लीनटेक, ऊर्जा, पर्यावरण, सौर, कचरा प्रबंधन। यहां पहुंचें।
- प्लेटोहेल्थ। बायोटेक और क्लिनिकल परीक्षण इंटेलिजेंस। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/big-data/create-a-modern-data-platform-using-the-data-build-tool-dbt-in-the-aws-cloud/