एआई की मूल बातें

ETL क्या है? एक्सट्रैक्ट, ट्रांसफ़ॉर्म, लोड की व्याख्या

mm
Unite.AI को Google पर अपने पसंदीदा स्रोतों में जोड़ें

ETL—extract, transform, load—एक डेटा‑इंटीग्रेशन पैटर्न है जो स्रोत प्रणालियों से डेटा पढ़ता है, उसे मान्य करता है और पुनः आकार देता है, फिर उसे विश्लेषण, रिपोर्टिंग, मशीन लर्निंग या संचालन के लिए उपयुक्त गंतव्य में लिखता है।

एक प्रोडक्शन ETL पाइपलाइन केवल तीन बॉक्स से अधिक होती है। इसे दोहराने योग्य निष्पादन, स्कीमा और गुणवत्ता नियंत्रण, लाइनज, ऑर्केस्ट्रेशन, ऑब्ज़रवेबिलिटी, सुरक्षा और लॉजिक बदलने पर डेटा को बैकफ़िल या रीप्ले करने का सुरक्षित तरीका चाहिए।

मुख्य बिंदु

  • एक्सट्रैक्शन को स्रोत पर प्रभाव को न्यूनतम रखना चाहिए और यह रिकॉर्ड करना चाहिए कि कौन सा अंतराल या परिवर्तन सेट कैप्चर किया गया।
  • ट्रांसफ़ॉर्मेशन व्यावसायिक अर्थ को एन्कोड करते हैं, इसलिए उन्हें संस्करण नियंत्रण, परीक्षण और स्वामित्व की आवश्यकता होती है।
  • लोड्स को आइडेम्पोटेंट होना चाहिए या अन्यथा डुप्लिकेट और आंशिक विफलता से बचाव करना चाहिए।
  • ETL बनाम ELT मुख्यतः इस बात पर निर्भर करता है कि ट्रांसफ़ॉर्मेशन कहाँ चलती है; आधुनिक सिस्टम अक्सर दोनों का उपयोग करते हैं।
What is ETL? Extract, Transform, Load Explained diagram showing extract, validate, transform, stage, load, monitor
विश्वसनीय पाइपलाइन प्रत्येक रन को ट्रैसेबल, टेस्टेबल बनाती हैं और डेटा या लॉजिक बदलने पर सुरक्षित रीप्ले की सुविधा देती हैं।

डेटा को विश्वसनीय रूप से एक्सट्रैक्ट करें

स्रोतों में डेटाबेस, फ़ाइलें, API, इवेंट स्ट्रीम और एप्लिकेशन शामिल हो सकते हैं। एक पूर्ण एक्सट्रैक्ट पूरी सेट की कॉपी बनाता है; एक इन्क्रिमेंटल एक्सट्रैक्ट चेकपॉइंट के बाद बदलें रिकॉर्ड पढ़ता है। चेंज‑डेटा‑कैप्चर डेटाबेस लॉग या इवेंट्स को उपभोग करके दोहराव वाले स्कैन को कम करता है।

स्रोत पहचानकर्ता, समय सीमाएँ और चेकपॉइंट रिकॉर्ड करें। रेट लिमिट और ट्रांजेक्शन सेमेंटिक्स का सम्मान करें। यदि कोई स्रोत चुपचाप स्कीमा बदलता है, तो सुरक्षित रूप से फेल हों या रिकॉर्ड को क्वारंटाइन करें, बजाय इसके कि अस्पष्ट डेटा को ऐसा लोड किया जाए जैसे कुछ भी नहीं हुआ।

स्पष्ट अनुबंधों के साथ ट्रांसफ़ॉर्म करें

ट्रांसफ़ॉर्मेशन प्रकार और इकाइयों को मानकीकृत करते हैं, रिकॉर्ड्स को पार्स करते हैं, स्रोतों को जोड़ते हैं, डुप्लिकेट्स को हटाते या चिन्हित करते हैं, व्यावसायिक नियम लागू करते हैं और फीचर की गणना करते हैं। अवैध डेटा को अनुपस्थित लेकिन स्वीकार्य डेटा से अलग करें, और आउटपुट को उसके इनपुट्स तक ट्रेस करने के लिए पर्याप्त साक्ष्य रखें।

ट्रांसफ़ॉर्मेशन को उसी अनुशासित तरीके से संस्करणित करें जैसे सॉफ़्टवेयर डिलीवरी। परीक्षणों में स्कीमा, रेंज, रेफ़रेंशियल इंटीग्रिटी, अपेक्षित वितरण और ज्ञात उदाहरण शामिल होने चाहिए। एक डेटा अनुबंध निर्माता और उपभोक्ता के बीच अपेक्षाओं को परिभाषित करता है।

सुरक्षित और दोहराने योग्य लोड

एक लोड इवेंट्स को जोड़ सकता है, बदलें रिकॉर्ड्स को मर्ज कर सकता है, एक पार्टिशन को बदल सकता है या टेबल को पुनः बनाता है। आइडेम्पोटेंस का अर्थ है समान इनपुट को दोबारा चलाने पर समान गंतव्य स्थिति बनती है। ट्रांजेक्शन, स्टेजिंग टेबल और एटॉमिक स्वैप्स आंशिक अपडेट्स के जोखिम को कम करते हैं।

पार्टीशनिंग और इंडेक्सिंग को उपभोग पैटर्न के साथ मिलना चाहिए। संवेदनशील फ़ील्ड्स की सुरक्षा करें और डेटा को क्वेरी करने योग्य बनने से पहले गंतव्य अनुमतियों को लागू करें। रिटेंशन और डिलीशन आवश्यकताएँ डेटा के साथ ही रहनी चाहिए।

ETL, ELT, बैच और स्ट्रीमिंग

पारम्परिक ETL लोड करने से पहले एक अलग इंजन में ट्रांसफ़ॉर्म करता है। ELT पहले कच्चा या हल्का प्रोसेस किया हुआ डेटा लोड करता है, फिर ट्रांसफ़ॉर्मेशन के लिए गंतव्य कंप्यूट का उपयोग करता है। क्लाउड वेयरहाउस या लेकहाउस ELT को सुविधाजनक बना सकता है, लेकिन यह गुणवत्ता या गवर्नेंस कार्य को नहीं हटाता।

बैच पाइपलाइन सीमित अंतराल को प्रोसेस करती हैं; स्ट्रीमिंग पाइपलाइन निरंतर इवेंट्स को परिभाषित समय और क्रम सेमांटिक के साथ प्रोसेस करती हैं। कई आर्किटेक्चर स्ट्रीमिंग इन्जेस्ट के बाद आवधिक रीकोन्सिलिएशन का उपयोग करते हैं, क्योंकि देर से या सुधारे गए डेटा सामान्य हैं।

ऑर्केस्ट्रेशन, लाइनज और ऑब्ज़रवेबिलिटी

एक ऑर्केस्ट्रेटर टास्क्स को शेड्यूल करता है, निर्भरताओं का सम्मान करता है, परिभाषित विफलताओं को रीट्राय करता है और स्थिति को रिकॉर्ड करता है। रीट्राय को सीमाएँ और आइडेम्पोटेंट टास्क्स चाहिए। बैकफ़िल्स को अलग रखना चाहिए और क्षमता‑सचेत होना चाहिए ताकि ऐतिहासिक मरम्मत वर्तमान डेटा को बाधित न करे।

ताज़गी, वॉल्यूम, स्कीमा, गुणवत्ता, अवधि और लागत की निगरानी करें। लाइनज और डेटा फैब्रिक की मेटाडाटा लेयर उपभोक्ताओं को समझने में मदद करती है कि कौन सा संस्करण डेटासेट उत्पन्न किया और अपस्ट्रीम में क्या टूट गया।

एक्सट्रैक्ट: स्रोत, अनुबंध, और इन्क्रिमेंटल कैप्चर

ETL स्रोत सिस्टमों से डेटा ले जाता है, उसे गवर्नेड संरचनाओं में ट्रांसफ़ॉर्म करता है, और गंतव्य में लोड करता है। एक्सट्रैक्शन फ़ाइलों, डेटाबेस क्वेरीज़, API, लॉग, स्ट्रीम, या चेंज‑डेटा‑कैप्चर का उपयोग कर सकता है। स्रोत स्वामित्व, स्कीमा, कुंजियाँ, टाइमस्टैम्प, टाइमज़ोन, इकाइयाँ, डिलीशन सेमेंटिक्स, और अनुमत लोड को परिभाषित करें। पूर्ण एक्सट्रैक्ट सरल लेकिन महंगे होते हैं; इन्क्रिमेंटल कैप्चर वॉल्यूम घटाता है लेकिन इसके लिए वाटरमार्क, लॉग पोजीशन या संस्करण फ़ील्ड और देर या सुधारे गए रिकॉर्ड्स के लिए रणनीति चाहिए।

यह न मानें कि API सफलता पूर्ण एक्सट्रैक्ट का मतलब है। रिकॉर्ड काउंट, चेकसम, सीक्वेंस गैप, पेजिनेशन, रेट लिमिट, रीट्राय और स्रोत स्नैपशॉट रिकॉर्ड करें। जहाँ नीति अनुमति देती है, अपरिवर्तनीय कच्चा डेटा संग्रहीत करें ताकि ट्रांसफ़ॉर्मेशन रीप्ले हो सके। क्रेडेंशियल और संवेदनशील फ़ील्ड की सुरक्षा करें, और रीट्राय को आइडेम्पोटेंट बनाएं। स्कीमा परिवर्तन को अनुबंधों के माध्यम से संगत या ब्रेकिंग के रूप में वर्गीकृत किया जाना चाहिए, न कि जब डाउनस्ट्रीम डैशबोर्ड चुपचाप बदलता है तो पता चले।

ट्रांसफ़ॉर्म और लोड पुनरुत्पादनीय सेमांटिक्स के साथ

ट्रांसफ़ॉर्मेशन प्रकारों को पार्स करते हैं, इकाइयों को मानकीकृत करते हैं, डिडुप्लिकेट करते हैं, जोड़ते हैं, व्यावसायिक नियम लागू करते हैं, इतिहास प्रबंधित करते हैं, और तथ्य एवं डायमेंशन निकालते हैं। प्रत्येक नियम को परीक्षण और लाइनज चाहिए। जब ETL ML को फीड करता है तो सांख्यिकीय प्री‑प्रोसेसिंग केवल उपयुक्त प्रशिक्षण डेटा पर लागू करें। धीरे‑धीरे बदलते डायमेंशन तय करते हैं कि एट्रिब्यूट परिवर्तन ओवरराइट करें या इतिहास को संरक्षित रखें। जॉइन से पहले फ़ैक्ट ग्रेन घोषित करें; कई‑से‑कई त्रुटियाँ डुप्लिकेट माप बनाती हैं जो बुनियादी रो चेक को भी पार कर सकती हैं।

लोडिंग अपेंड, मर्ज, पार्टिशन रिप्लेस या रिकॉर्ड अपडेट कर सकती है। जहाँ संभव हो स्टेजिंग टेबल और एटॉमिक स्वैप्स का उपयोग करें ताकि रीडर्स आंशिक स्थिति न देखें। यूनिकनेस, रिलेशनशिप, स्वीकृत मान, पूर्णता, और व्यावसायिक इनवेरिएंट्स को लागू करें। देर से इवेंट्स और बैकफ़िल्स को इवेंट टाइम और संस्करणित कोड के साथ संभालें। स्रोत कुल के विरुद्ध रीकोन्सिलिएशन वित्तीय और ऑपरेशनल डेटा के लिए अनिवार्य है। ELT गंतव्य में ट्रांसफ़ॉर्मेशन से पहले कच्चा डेटा लोड करता है; गवर्नेंस और शुद्धता की आवश्यकताएँ वही रहती हैं।

ऑपरेशन्स और रिकवरी

ऑर्केस्ट्रेशन निर्भरताओं, शेड्यूल, रीट्राय, समवर्तीता और अलर्ट को प्रबंधित करता है। ताज़गी, वॉल्यूम, गुणवत्ता, अवधि, लागत और डाउनस्ट्रीम प्रभाव की निगरानी करें। एक फेल्ड जॉब को डुप्लिकेशन के बिना पुनः शुरू या रीप्ले होना चाहिए। कोड और स्कीमा का संस्करण बनाएं, लाइनज बनाए रखें, और बैकफ़िल्स को अलगाव में परीक्षण करें। आपदा रिकवरी में कच्चा डेटा, कैटलॉग, अनुमतियाँ, ऑर्केस्ट्रेशन स्थिति, और सेमांटिक डिफ़िनिशन शामिल हैं। ETL भरोसेमंद तब होता है जब उपयोगकर्ता मीट्रिक को स्रोतों तक ट्रेस कर सके और परिवर्तन के बाद उसे पुनः उत्पन्न कर सके—सिर्फ तब नहीं जब एक ग्रीन पाइपलाइन पूरी हुई हो।

व्यावहारिक उदाहरण: एक इन्क्रिमेंटल ऑर्डर पाइपलाइन

एक ETL जॉब ऑर्डर और आइटम्स के लिए डेटाबेस चेंज लॉग पढ़ता है, अपरिवर्तनीय इवेंट्स संग्रहीत करता है, सीक्वेंस और स्कीमा को वैलिडेट करता है, और उन्हें वेयरहाउस फ़ैक्ट टेबल में एक ऑर्डर‑लाइन ग्रेन पर मर्ज करता है। इवेंट टाइम और अपडेट संस्करण देर से सुधारों को संभालते हैं; डिटरमिनिस्टिक कुंजियाँ रीप्ले को आइडेम्पोटेंट बनाती हैं। डायमेंशन चयनित ग्राहक और प्रोडक्ट इतिहास को सरोगेट कुंजियों के माध्यम से संरक्षित रखते हैं। रो काउंट, ऑर्डर टोटल, टैक्स, रिटर्न और कैंसलेशन स्रोत अवधि के साथ रीकोन्साइल होते हैं।

एक ब्रेकिंग स्रोत फ़ील्ड परिवर्तन भरोसेमंद टेबल्स में प्रमोशन को रोकता है और डाउनस्ट्रीम लाइनज के साथ मालिकों को अलर्ट करता है। बैकफ़िल्स संस्करणित कोड के साथ अलगाव में चलते हैं और एटॉमिक स्वैप से पहले तुलना किए जाते हैं। एक्सेस पॉलिसी ग्राहक पहचानकर्ताओं को प्रतिबंधित करती है, और डिलीशन अनुमत डेराइव्ड कॉपीज़ में प्रसारित होता है। मॉनिटरिंग ताज़गी, वॉल्यूम, गुणवत्ता, लागत और डैशबोर्ड प्रभाव को कवर करती है। रिकवरी टेस्ट कच्चे इवेंट्स से एक अवधि को पुनः बनाते हैं और ऑर्केस्ट्रेशन स्थिति को पुनर्स्थापित करते हैं। एक ग्रीन शेड्यूलर अपर्याप्त है जब तक कि व्यावसायिक संख्याएँ पुनरुत्पादनीय और रीकोन्साइल न हों।

कार्यान्वयन साक्ष्य और ऑपरेशनल तत्परता

एक प्रोडक्शन निर्णय केवल सफल डेमो से अधिक चाहता है। इच्छित उपयोगकर्ताओं, ऑपरेटिंग एनवायरनमेंट, इनपुट, आउटपुट, निर्भरताओं, मालिक, और प्रत्येक महत्वपूर्ण विफलता के परिणाम को परिभाषित करें। ट्यूनिंग से पहले एक पुनरुत्पादनीय बेसलाइन और एक संस्करणित इवैल्युएशन सेट स्थापित करें। सामान्य केस, बॉउंडरी कंडीशन, खराब या अनुपलब्ध इनपुट, वितरण परिवर्तन, निर्भरता आउटेज, दुरुपयोग, और उन समूहों या वातावरणों का परीक्षण करें जो सबसे अधिक सेवा‑हीन हो सकते हैं। टास्क गुणवत्ता को कैलिब्रेशन या अनिश्चितता, लेटेंसी, थ्रूपुट, रिसोर्स लागत, एक्सेसेबिलिटी, प्राइवेसी और सुरक्षा के साथ मापें। प्रत्येक ट्रांसफ़ॉर्मेशन और थ्रेशोल्ड रिकॉर्ड करें ताकि एक स्वतंत्र समीक्षक परिणाम को पुनः उत्पन्न कर सके और आकर्षक प्रोटोटाइप से साक्ष्य को अलग कर सके।

लॉन्च से पहले, रिलीज़, अपवाद, परिवर्तन, रोलबैक और रिटायरमेंट के लिए अधिकार सौंपें। एक स्टेज्ड रोलआउट उपयोग करें, सुरक्षित फॉलबैक संरक्षित रखें, और जानबूझकर इंजेक्टेड फ़ेल्यर्स के साथ मॉनिटरिंग को सत्यापित करें। ऑपरेशनल टेलीमेट्री को इनपुट गुणवत्ता, आउटपुट व्यवहार, मॉडल या नियम संस्करण, निर्भरता स्वास्थ्य, मानव ओवरराइड और पुष्टि किए गए परिणाम दिखाने चाहिए, बिना अनावश्यक संवेदनशील डेटा एकत्र किए। अलर्ट थ्रेशोल्ड और रिस्पॉन्स ओनर परिभाषित करें, फिर डिप्लॉयमेंट के बाद वास्तविक‑विश्व साक्ष्य की समीक्षा करें, न कि ऑफ़लाइन प्रदर्शन को बना रहने का अनुमान लगाएँ। जब भी डेटा स्रोत, उपयोगकर्ता, मॉडल, विक्रेता, नीतियां, हार्डवेयर या उद्देश्यों में परिवर्तन हो, पुनर्मूल्यांकन करें। एक रखरखाव किया गया सिस्टम दस्तावेज़ीकृत रिकवरी, इन्सिडेंट लर्निंग, डिलीशन और रिटेंशन प्रक्रियाओं, और एक स्पष्ट बिंदु की भी आवश्यकता रखता है जहाँ इसे निष्क्रिय या प्रतिस्थापित किया जाना चाहिए।

अक्सर पूछे जाने वाले प्रश्न

क्या क्लाउड डेटा प्लेटफ़ॉर्म में ETL अप्रचलित है?

नहीं। कुछ प्लेटफ़ॉर्म ELT को प्राथमिकता देते हैं, लेकिन एक्सट्रैक्शन, ट्रांसफ़ॉर्मेशन और लोडिंग की ज़िम्मेदारियाँ अभी भी मौजूद हैं। टीमें अक्सर दोनों पैटर्न को मिलाकर उपयोग करती हैं।

एक ETL पाइपलाइन को आइडेम्पोटेंट क्या बनाता है?

यह समान इनपुट को सुरक्षित रूप से फिर से प्रोसेस कर सकता है बिना डुप्लिकेट या असंगत गंतव्य स्थिति बनाए, आमतौर पर स्थिर कुंजियों, चेकपॉइंट्स और ट्रांजेक्शनल राइट्स के माध्यम से।

मुख्य संदर्भ

हाज़िका एक डेटा साइंटिस्ट हैं जिनके पास एआई और सास कंपनियों के लिए तकनीकी सामग्री लिखने का व्यापक अनुभव है।