एक्सट्रेक्ट, ट्रांसफॉर्म, लोड
Data transformation |
---|
Concepts |
Transformation languages |
Techniques and transforms |
Applications |
Related |
कम्प्यूटिंग में, एक्सट्रेक्ट, ट्रांसफॉर्म, लोड (ईटीएल) एक तीन चरण की प्रक्रिया है जहां डेटा को निकाला जाता है, और रूपांतरित किया जाता है | और (क्लीनड, सैनीटाइजड, स्क्राबेड किया जाता है) और आउटपुट डेटा कंटेनर में लोड किया जाता है। डेटा को इस प्रकार और अधिक स्रोतों से एकत्रित किया जा सकता है और इसे इससे अधिक गंतव्यों पर आउटपुट भी किया जा सकता है। ईटीएल प्रसंस्करण में सामान्यतः सॉफ़्टवेयर एप्लिकेशन का उपयोग करके निष्पादित किया जाता है किन्तु इसे सिस्टम ऑपरेटरों द्वारा मैन्युअल रूप से भी किया जा सकता है। ईटीएल सॉफ्टवेयर सामान्यतः पूर्ण प्रक्रिया को स्वचालित करता है और इसे मैन्युअल रूप से या इसे पुनरावर्ती शेड्यूल पर या तब एकल नौकरियों के रूप में या नौकरियों के बैच में एकत्रित किया जा सकता है।
यह उचित रूप से डिज़ाइन किया गया ईटीएल सिस्टम स्रोत सिस्टम से डेटा निकालता है और इस प्रकार डेटा टाइप और डेटा वैधता मानकों को प्रयुक्त करता है और यह सुनिश्चित करता है कि यह आउटपुट की आवश्यकताओं के लिए संरचनात्मक रूप से अनुरूप है। कुछ ईटीएल सिस्टम प्रस्तुति-तैयार प्रारूप में भी डेटा वितरित कर सकते हैं जिससे एप्लिकेशन डेवलपर्स एप्लिकेशन बना सकें और अंतिम उपयोगकर्ता निर्णय ले सकते हैं। [1]
ईटीएल प्रक्रिया का उपयोग प्रायः डेटा वेयरहाउस में किया जाता है।[2] ईटीएल सिस्टम सामान्यतः अनेक अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो सामान्यतः विभिन्न विक्रेताओं द्वारा विकसित और समर्थित होते हैं | और यह भिन्न कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले भिन्न-भिन्न सिस्टम को प्रायः विभिन्न हितधारकों स्टेकहोल्डर्स (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, निवेश लेखांकन प्रणाली पेरोल, क्रय और विक्रय से डेटा को जोड़ सकती है।
निकालें
डेटा निष्कर्षण में सजातीय या विषम स्रोतों से डेटा निकालना सम्मिलित है | डेटा परिवर्तन डेटा को साफ़ करके और उसे इन्क्वायरी और विश्लेषण के प्रयोजनों के लिए उचित संग्रहण प्रारूप/संरचना में परिवर्तित करके संसाधित करता है | अंत में, डेटा लोडिंग अंतिम लक्ष्य डेटाबेस जैसे परिचालन डेटा संग्रह, डेटा मार्ट, डेटा लेक या डेटा वेयरहाउस में डेटा के सम्मिलन का वर्णन करता है।[3][4]
ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना सम्मिलित है। अनेक स्थितियों में, यह ईटीएल के सबसे महत्वपूर्ण रूप का प्रतिनिधित्व करता है, क्योंकि डेटा को सही प्रकार से निकालना उसके पश्चात् की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक भिन्न सिस्टम भिन्न डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस वर्चुअल स्टोरेज एक्सेस मैथेड (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम) हैं, या यहां तक कि वेब क्रॉलर और डेटा स्क्रैपिंग जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी होते हैं। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन की और विधि है जब किसी मध्यवर्ती डेटा संग्रहण की आवश्यकता नहीं होती है।
निष्कर्षण के आंतरिक भाग में यह पुष्टि करने के लिए डेटा सत्यापन सम्मिलित है कि स्रोतों से खींचे गए डेटा में किसी दिए गए डोमेन में सही/अपेक्षित मान हैं (जैसे पैटर्न/डिफ़ॉल्ट या मानों की सूची) हैं। यदि डेटा सत्यापन नियमों में विफल रहता है, तब इसे पूर्ण तरह या आंशिक रूप से अस्वीकार कर दिया जाता है। अस्वीकृत डेटा को आदर्श रूप से आगे के विश्लेषण के लिए त्रुटि रिकॉर्ड की पहचान करने और सुधारने या डेटा त्रुटियाँ करने के लिए स्रोत प्रणाली में वापस रिपोर्ट किया जाता है।
परिवर्तन
डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तैयार करने के लिए निकाले गए डेटा पर नियमों या कार्यों की श्रृंखला प्रयुक्त की जाती है।
परिवर्तन का महत्वपूर्ण कार्य डेटा सफाई है, जिसका उद्देश्य केवल उचित डेटा को लक्ष्य तक पहुंचाना है। जब विभिन्न प्रणालियाँ परस्पर क्रिया करती हैं तब चुनौती संबंधित प्रणालियों के इंटरफेसिंग और संचार में होती है। जो चरित्र समुच्चय प्रणाली में उपलब्ध हो सकते हैं वे अन्य में उपलब्ध नहीं हो सकते हैं।
अन्य स्थितियों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से या अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है:
- लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए शून्य (एसक्यूएल) कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तब चयन में केवल रोल नंबर और वेतन सम्मिलित हो सकता है। या, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन मौजूद नहीं है (वेतन = शून्य)।
- कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, किन्तु वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है)
- फ्री-फॉर्म मानों को एन्कोड करना: (उदाहरण के लिए, मेल को एम में मैप करना)
- एक नया परिकलित मान प्राप्त करना: (उदाहरण के लिए, बिक्री_राशि = मात्रा * इकाई_मूल्य)
- खोज प्रदर्शन को बेहतर बनाने के लिए कॉलम की सूची के आधार पर डेटा को क्रमबद्ध या क्रमबद्ध करना
- जुड़ें (संबंधपरक बीजगणित) # अनेक स्रोतों (उदाहरण के लिए, लुकअप, मर्ज) से डेटा को जोड़ना और जोड़ना और डेटा लिंकेज को रिकॉर्ड करना
- एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की अनेक पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल बिक्री, और प्रत्येक क्षेत्र के लिए, आदि)
- सरोगेट कुंजी उत्पन्न करना|सरोगेट-कुंजी मान
- खिसकाना या पिवट तालिका (एकाधिक कॉलम को अनेक पंक्तियों में बदलना या इसके विपरीत)
- एक कॉलम को अनेक कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से भिन्न किए गए मानों को परिवर्तित करना | अल्पविराम से भिन्न की गई सूची, कॉलम में स्ट्रिंग के रूप में निर्दिष्ट, भिन्न-भिन्न कॉलम में भिन्न-भिन्न मानों में)
- दोहराए जाने वाले कॉलमों को भिन्न-भिन्न करना
- तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और मान्य करना
- किसी भी प्रकार का डेटा सत्यापन प्रयुक्त करना; असफल सत्यापन के परिणामस्वरूप डेटा की पूर्ण अस्वीकृति, आंशिक अस्वीकृति, या बिल्कुल भी अस्वीकृति नहीं हो सकती है, और इस प्रकार नियम डिजाइन और अपवाद हैंडलिंग के आधार पर कोई भी, कुछ या सभी डेटा अगले चरण में नहीं सौंपा जाता है; उपरोक्त अनेक परिवर्तनों के परिणामस्वरूप अपवाद हो सकते हैं, उदाहरण के लिए, जब कोई कोड अनुवाद निकाले गए डेटा में किसी अज्ञात कोड को पार्स करता है
लोड
लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।[5] संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस मौजूदा जानकारी को संचयी जानकारी से अधिलेखित कर सकते हैं; निकाले गए डेटा को अपडेट करना प्रायः दैनिक, साप्ताहिक या मासिक आधार पर किया जाता है। अन्य डेटा वेयरहाउस (या यहां तक कि उसी डेटा वेयरहाउस के अन्य हिस्से) नियमित अंतराल पर ऐतिहासिक रूप में नया डेटा जोड़ सकते हैं - उदाहरण के लिए, प्रति घंटा। इसे समझने के लिए, डेटा वेयरहाउस पर विचार करें जो पिछले वर्ष के बिक्री रिकॉर्ड को बनाए रखने के लिए आवश्यक है। यह डेटा वेयरहाउस वर्ष से अधिक पुराने किसी भी डेटा को नए डेटा के साथ अधिलेखित कर देता है। हालाँकि, किसी भी वर्ष की विंडो के लिए डेटा की प्रविष्टि ऐतिहासिक तरीके से की जाती है। बदलने या जोड़ने का समय और दायरा रणनीतिक डिज़ाइन विकल्प हैं जो उपलब्ध समय और व्यावसायिक आवश्यकताओं पर निर्भर करते हैं। अधिक जटिल सिस्टम डेटा वेयरहाउस में लोड किए गए डेटा में सभी परिवर्तनों का इतिहास और लेखापरीक्षा बनाए रख सकते हैं। जैसे ही लोड चरण डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - प्रयुक्त होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड), जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। ईटीएल प्रक्रिया का.
- उदाहरण के लिए, वित्तीय संस्थान के पास ग्राहक के बारे में अनेक विभागों में जानकारी हो सकती है और प्रत्येक विभाग में उस ग्राहक की जानकारी भिन्न-भिन्न तरीके से सूचीबद्ध हो सकती है। सदस्यता विभाग ग्राहक को नाम के आधार पर सूचीबद्ध कर सकता है, जबकि लेखा विभाग ग्राहक को संख्या के आधार पर सूचीबद्ध कर सकता है। ईटीएल इन सभी डेटा तत्वों को बंडल कर सकता है और उन्हें समान प्रस्तुति में समेकित कर सकता है, जैसे कि डेटाबेस या डेटा वेयरहाउस में संग्रहीत करना।
- कंपनियां ईटीएल का उपयोग करने का दूसरा विधि जानकारी को किसी अन्य एप्लिकेशन में स्थायी रूप से स्थानांतरित करना है। उदाहरण के लिए, नया एप्लिकेशन किसी अन्य डेटाबेस विक्रेता और संभवतः बहुत भिन्न डेटाबेस स्कीमा का उपयोग कर सकता है। ईटीएल का उपयोग डेटा को नए एप्लिकेशन के उपयोग के लिए उपयुक्त प्रारूप में बदलने के लिए किया जा सकता है।
- एक उदाहरण व्यय और निवेश वसूली प्रणाली (ईसीआरएस) होगा जैसे कि लेखाकर्म , कंसल्टेंसी और नियम फर्म द्वारा उपयोग किया जाता है। डेटा सामान्यतः नियम अभ्यास प्रबंधन सॉफ्टवेयर में समाप्त होता है, हालांकि कुछ व्यवसाय मानव संसाधन (कार्मिक विभाग) को कर्मचारी उत्पादकता रिपोर्ट या सुविधा प्रबंधन को उपकरण उपयोग रिपोर्ट के लिए कच्चे डेटा का उपयोग भी कर सकते हैं।
वास्तविक जीवन ईटीएल चक्र
विशिष्ट वास्तविक जीवन ईटीएल चक्र में निम्नलिखित निष्पादन चरण होते हैं:
- चक्र आरंभ
- संदर्भ डेटा बनाएं
- उद्धरण (स्रोतों से)
- आंकड़ा मान्यीकरण
- ट्रांसफॉर्म करें (डेटा सफाई, व्यावसायिक नियम प्रयुक्त करें, डेटा अखंडता की जांच करें, एग्रीगेट (डेटा वेयरहाउस) बनाएं या भिन्न करें)
- स्टेज (यदि उपयोग किया जाता है तब स्टेजिंग (डेटा) तालिकाओं में लोड करें)
- परीक्षण विवरण (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन पर। साथ ही, विफलता के स्थितियों में, निदान/मरम्मत में मदद करती है)
- प्रकाशित करें (तालिकाओं को लक्षित करने के लिए)
- संग्रहित किया जा रहा है
चुनौतियाँ
ईटीएल प्रक्रियाओं में काफी जटिलता सम्मिलित हो सकती है, और अनुचित तरीके से डिजाइन किए गए ईटीएल सिस्टम के साथ महत्वपूर्ण परिचालन समस्याएं हो सकती हैं।
किसी परिचालन प्रणाली में डेटा मान या डेटा गुणवत्ता की सीमा सत्यापन और परिवर्तन नियमों के निर्दिष्ट होने पर डिजाइनरों की अपेक्षाओं से अधिक हो सकती है। डेटा विश्लेषण के दौरान किसी स्रोत की डेटा प्रोफाइलिंग उन डेटा स्थितियों की पहचान कर सकती है जिन्हें परिवर्तन नियम विनिर्देशों द्वारा प्रबंधित किया जाना चाहिए, जिससे ईटीएल प्रक्रिया में स्पष्ट रूप से और अंतर्निहित रूप से प्रयुक्त सत्यापन नियमों में संशोधन हो सके।
डेटा वेयरहाउस सामान्यतः विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से इकट्ठे किए जाते हैं। इस प्रकार, ईटीएल सभी डेटा को मानक, सजातीय वातावरण में साथ लाने की महत्वपूर्ण प्रक्रिया है।
डिज़ाइन विश्लेषण[6] इसके उपयोग के पूरे जीवनकाल में ईटीएल प्रणाली की मापनीयता स्थापित की जानी चाहिए - जिसमें सेवा स्तर के समझौतों के भीतर संसाधित किए जाने वाले डेटा की मात्रा को समझना भी सम्मिलित है। स्रोत सिस्टम से निकालने के लिए उपलब्ध समय बदल सकता है, जिसका अर्थ यह हो सकता है कि समान मात्रा में डेटा को कम समय में संसाधित करना पड़ सकता है। कुछ ईटीएल प्रणालियों को दसियों टेराबाइट्स डेटा के साथ डेटा वेयरहाउस को अपडेट करने के लिए टेराबाइट्स डेटा को संसाधित करने के लिए स्केल करना पड़ता है। डेटा की बढ़ती मात्रा के लिए ऐसे डिज़ाइन की आवश्यकता हो सकती है जो दैनिक बैच प्रसंस्करण से लेकर कई-दिवसीय माइक्रो बैच तक संदेश कतारों के साथ एकीकरण या निरंतर परिवर्तन और अद्यतन के लिए वास्तविक समय परिवर्तन-डेटा-कैप्चर तक स्केल कर सकते हैं।
प्रदर्शन
ईटीएल विक्रेता अनेक सीपीयू, अनेक हार्ड ड्राइव, अनेक गीगाबिट-नेटवर्क कनेक्शन और बहुत अधिक मेमोरी वाले शक्तिशाली सर्वर का उपयोग करके अपने रिकॉर्ड-सिस्टम को अनेक टीबी (टेराबाइट्स) प्रति घंटे (या ~ 1 जीबी प्रति सेकंड) पर बेंचमार्क करते हैं।
वास्तविक जीवन में, ईटीएल प्रक्रिया का सबसे धीमा हिस्सा सामान्यतः डेटाबेस लोड चरण में होता है। डेटाबेस धीमा प्रदर्शन कर सकते हैं क्योंकि उन्हें समवर्तीता, अखंडता रखरखाव और सूचकांकों का ध्यान रखना होता है। इस प्रकार, बेहतर प्रदर्शन के लिए, निम्नलिखित को नियोजित करना उचित हो सकता है:
- हाई-स्पीड एक्सट्रैक्ट प्राप्त करते समय सोर्स सिस्टम पर लोड को कम करने के लिए जब भी संभव हो डायरेक्ट पाथ एक्सट्रेक्ट विधि या बल्क अनलोड (डेटाबेस से इन्क्वायरी करने के बजाय)
- अधिकांश परिवर्तन प्रसंस्करण डेटाबेस के बाहर
- जब भी संभव हो बल्क लोड संचालन
फिर भी, बल्क ऑपरेशंस का उपयोग करते हुए भी, डेटाबेस एक्सेस सामान्यतः ईटीएल प्रक्रिया में बाधा है। प्रदर्शन बढ़ाने के लिए उपयोग की जाने वाली कुछ सामान्य विधियाँ हैं:
- विभाजन (डेटाबेस) तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)।
null
वे मान जो विभाजन को विकृत कर सकते हैं) - लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें (
disable constraint
...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में - डेटाबेस ट्रिगर अक्षम करें (
disable trigger
...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में: भिन्न चरण के रूप में उनके प्रभाव का अनुकरण करें - ईटीएल परत में आईडी जनरेट करें (डेटाबेस में नहीं)
- लोड से पहले डेटाबेस सूचकांक (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के पश्चात् उन्हें फिर से बनाएं (एसक्यूएल:
drop index
...; create index
...) - जब संभव हो तब समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तब यह अच्छी तरह से काम करता है (नोट: ही तालिका (विभाजन) में समानांतर लोड करने का प्रयास सामान्यतः लॉक का कारण बनता है - यदि डेटा पंक्तियों पर नहीं, तब सूचकांकों पर)
- यदि सम्मिलन, अद्यतन, या विलोपन करने की आवश्यकता मौजूद है, तब पता लगाएं कि ईटीएल परत में किन पंक्तियों को किस तरह से संसाधित किया जाना चाहिए, और फिर डेटाबेस में इन तीन कार्यों को भिन्न से संसाधित करें; आप प्रायः इंसर्ट के लिए बल्क लोड कर सकते हैं, किन्तु अपडेट और डिलीट सामान्यतः एपीआई (एसक्यूएल का उपयोग करके) के माध्यम से होते हैं
चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें व्यापार-बंद सम्मिलित हो सकता है। उदाहरण के लिए, डुप्लिकेट का उपयोग करके हटाना distinct
डेटाबेस में धीमा हो सकता है; इस प्रकार, इसे बाहर करना ही उचित है। दूसरी ओर, यदि उपयोग कर रहे हैं distinct
उल्लेखनीय रूप से (x100) निकाले जाने वाली पंक्तियों की संख्या कम कर देता है, तब डेटा को अनलोड करने से पहले डेटाबेस में जितनी जल्दी हो सके डुप्लिकेशंस को हटाना समझ में आता है।
ईटीएल में समस्याओं का आम स्रोत ईटीएल नौकरियों के बीच निर्भरता की बड़ी संख्या है। उदाहरण के लिए, कार्य B प्रारंभ नहीं हो सकता जबकि कार्य A समाप्त नहीं हुआ है। सामान्यतः ग्राफ़ पर सभी प्रक्रियाओं की कल्पना करके, और समानांतर कंप्यूटिंग का अधिकतम उपयोग करके ग्राफ़ को कम करने का प्रयास करके और लगातार प्रसंस्करण की श्रृंखलाओं को यथासंभव छोटा बनाकर बेहतर प्रदर्शन प्राप्त किया जा सकता है। फिर, बड़ी तालिकाओं और उनके सूचकांकों का विभाजन वास्तव में मदद कर सकता है।
एक अन्य सामान्य समस्या तब होती है जब डेटा अनेक डेटाबेसों में फैला हुआ होता है, और उन डेटाबेसों में क्रमिक रूप से प्रसंस्करण किया जाता है। कभी-कभी डेटाबेस प्रतिकृति को डेटाबेस के बीच डेटा कॉपी करने की विधि के रूप में सम्मिलित किया जा सकता है - यह पूर्ण प्रक्रिया को काफी धीमा कर सकता है। सामान्य समाधान प्रसंस्करण ग्राफ़ को केवल तीन परतों तक कम करना है:
- स्रोत
- केंद्रीय ईटीएल परत
- लक्ष्य
यह दृष्टिकोण प्रसंस्करण को समानता का अधिकतम लाभ उठाने की अनुमति देता है। उदाहरण के लिए, यदि आपको डेटा को दो डेटाबेस में लोड करने की आवश्यकता है, तब आप लोड को समानांतर में चला सकते हैं (पहले में लोड करने के बजाय - और फिर दूसरे में प्रतिलिपि बनाने के बजाय)।
कभी-कभी प्रसंस्करण क्रमिक रूप से होना चाहिए। उदाहरण के लिए, मुख्य तथ्य तालिका के लिए पंक्तियों को प्राप्त करने और सत्यापित करने से पहले आयामी (संदर्भ) डेटा की आवश्यकता होती है| तथ्य सारणी.
समानांतर प्रसंस्करण
ए recent[update]ईटीएल सॉफ्टवेयर में विकास समानांतर कंप्यूटिंग का कार्यान्वयन है। इसने बड़ी मात्रा में डेटा से निपटने के दौरान ईटीएल के समग्र प्रदर्शन को बेहतर बनाने के लिए अनेक तरीकों को सक्षम किया है।
ईटीएल अनुप्रयोग तीन मुख्य प्रकार की समानता प्रयुक्त करते हैं:
- डेटा: समानांतर रैंडम एक्सेस मशीन प्रदान करने के लिए एकल अनुक्रमिक फ़ाइल को छोटी डेटा फ़ाइलों में विभाजित करके
- पाइपलाइन (कंप्यूटिंग): ही आकड़ों का प्रवाह पर अनेक घटकों को साथ चलाने की अनुमति देना, उदाहरण के लिए रिकॉर्ड 2 पर दो फ़ील्ड जोड़ने के साथ-साथ रिकॉर्ड 1 पर मान देखना
- घटक: ही कार्य में विभिन्न डेटा स्ट्रीम पर एकाधिक प्रक्रिया (कंप्यूटिंग) का साथ चलना, उदाहरण के लिए किसी अन्य फ़ाइल पर डुप्लिकेट हटाते समय इनपुट फ़ाइल को सॉर्ट करना
सभी तीन प्रकार की समानताएं सामान्यतः ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं।
यह सुनिश्चित करने में अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में भिन्न-भिन्न अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी तरह, जहां गोदाम को स्रोत प्रणाली में या सामान्य खाता बही के साथ सामग्री का मिलान करना पड़ सकता है, वहां सिंक्रनाइज़ेशन और समाधान बिंदु स्थापित करना आवश्यक हो जाता है।
पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता
डेटा वेयरहाउसिंग प्रक्रियाएं सामान्यतः बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में मदद मिलती है।
सर्वोत्तम अभ्यास के लिए चौकियों की भी आवश्यकता होती है, जो ऐसी स्थिति होती है जब प्रक्रिया के कुछ चरण पूरे हो जाते हैं। चेकपॉइंट पर पहुंचने के पश्चात्, डिस्क पर सब कुछ लिखना, कुछ अस्थायी फ़ाइलों को साफ़ करना, स्थिति लॉग करना आदि अच्छा विचार है।
वर्चुअल ईटीएल
As of 2010[update], ईटीएल प्रोसेसिंग को आगे बढ़ाने के लिए डेटा वर्चुअलाइजेशन शुरू हो गया था। ईटीएल में डेटा वर्चुअलाइजेशन के अनुप्रयोग ने अनेक बिखरे हुए डेटा स्रोतों के लिए आंकड़ों का विस्थापन और एप्लिकेशन एकीकरण के सबसे सामान्य ईटीएल कार्यों को हल करने की अनुमति दी। वर्चुअल ईटीएल विभिन्न प्रकार के संबंधपरक, अर्ध-संरचित और असंरचित डेटा स्रोतों से एकत्रित वस्तुओं या संस्थाओं के अमूर्त प्रतिनिधित्व के साथ काम करता है। ईटीएल उपकरण ऑब्जेक्ट-ओरिएंटेड मॉडलिंग का लाभ उठा सकते हैं और केंद्र में स्थित हब और बात की आर्किटेक्चर में लगातार संग्रहीत संस्थाओं के प्रतिनिधित्व के साथ काम कर सकते हैं। ऐसा संग्रह जिसमें ईटीएल प्रसंस्करण के लिए डेटा स्रोतों से एकत्र की गई संस्थाओं या वस्तुओं का प्रतिनिधित्व होता है, मेटाडेटा रिपॉजिटरी कहलाता है और यह मेमोरी में रह सकता है[7] या लगातार बनाया जाए. लगातार मेटाडेटा रिपॉजिटरी का उपयोग करके, ईटीएल उपकरण बार की परियोजनाओं से लगातार मिडलवेयर में संक्रमण कर सकते हैं, डेटा सामंजस्य और डेटा प्रोफाइलिंग लगातार और लगभग वास्तविक समय में कर सकते हैं।[8]
कुंजियों से निपटना
अद्वितीय कुंजियाँ सभी संबंधपरक डेटाबेस में महत्वपूर्ण भूमिका निभाती हैं, क्योंकि वे सब कुछ साथ जोड़ती हैं। अद्वितीय कुंजी स्तंभ है जो किसी दी गई इकाई की पहचान करती है, जबकि विदेशी कुंजी किसी अन्य तालिका में स्तंभ है जो प्राथमिक कुंजी को संदर्भित करती है। कुंजियों में अनेक कॉलम सम्मिलित हो सकते हैं, इस स्थिति में वे समग्र कुंजियाँ हैं। अनेक स्थितियों में, प्राथमिक कुंजी स्वतः-निर्मित पूर्णांक है जिसका प्रतिनिधित्व की जा रही व्यावसायिक इकाई (कंप्यूटर विज्ञान) के लिए कोई अर्थ नहीं है, किन्तु यह केवल संबंधपरक डेटाबेस के उद्देश्य के लिए मौजूद है - जिसे सामान्यतः सरोगेट कुंजी के रूप में जाना जाता है।
चूँकि सामान्यतः वेयरहाउस में से अधिक डेटा स्रोत लोड होते हैं, इसलिए कुंजियाँ महत्वपूर्ण चिंता का विषय है जिसका समाधान किया जाना चाहिए। उदाहरण के लिए: ग्राहकों को अनेक डेटा स्रोतों में दर्शाया जा सकता है, स्रोत में प्राथमिक कुंजी के रूप में उनका सामाजिक सुरक्षा नंबर, दूसरे में उनका फ़ोन नंबर और तीसरे में सरोगेट होता है। फिर भी डेटा वेयरहाउस को सभी ग्राहक जानकारी को आयाम (डेटा वेयरहाउस) में समेकित करने की आवश्यकता हो सकती है।
चिंता से निपटने के लिए अनुशंसित तरीके में वेयरहाउस सरोगेट कुंजी जोड़ना सम्मिलित है, जिसका उपयोग तथ्य तालिका से विदेशी कुंजी के रूप में किया जाता है।[9] सामान्यतः, किसी आयाम के स्रोत डेटा में अपडेट होते हैं, जो स्पष्ट रूप से डेटा वेयरहाउस में प्रतिबिंबित होना चाहिए।
यदि रिपोर्टिंग के लिए स्रोत डेटा की प्राथमिक कुंजी आवश्यक है, तब आयाम में पहले से ही प्रत्येक पंक्ति के लिए जानकारी का वह भाग सम्मिलित है। यदि स्रोत डेटा सरोगेट कुंजी का उपयोग करता है, तब वेयरहाउस को इसका ट्रैक रखना होगा, भले ही इसका उपयोग क्वेरी या रिपोर्ट में कभी नहीं किया गया हो; यह लुकअप तालिका बनाकर किया जाता है जिसमें वेयरहाउस सरोगेट कुंजी और मूल कुंजी सम्मिलित होती है।[10] इस तरह, विभिन्न स्रोत प्रणालियों से सरोगेट्स के साथ आयाम प्रदूषित नहीं होता है, जबकि अद्यतन करने की क्षमता संरक्षित रहती है।
स्रोत डेटा की प्रकृति के आधार पर लुकअप तालिका का उपयोग विभिन्न तरीकों से किया जाता है। विचार करने के लिए 5 प्रकार हैं;[10]तीन यहाँ सम्मिलित हैं:
- श्रेणी 1
- आयाम पंक्ति को स्रोत प्रणाली की वर्तमान स्थिति से मेल करने के लिए बस अद्यतन किया जाता है; गोदाम इतिहास पर कब्जा नहीं करता है; लुकअप तालिका का उपयोग अद्यतन या अधिलेखित करने के लिए आयाम पंक्ति की पहचान करने के लिए किया जाता है
- प्रकार 2
- स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी गई है; नई सरोगेट कुंजी सौंपी गई है; लुकअप तालिका में स्रोत कुंजी अब अद्वितीय नहीं है
- पूर्ण तरह से लॉग इन
- स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी जाती है, जबकि पिछली आयाम पंक्ति को यह दर्शाने के लिए अद्यतन किया जाता है कि यह अब सक्रिय नहीं है और निष्क्रिय होने का समय है।
उपकरण
एक स्थापित ईटीएल ढांचा कनेक्टिविटी और स्केलेबिलिटी में सुधार कर सकता है। अच्छा ईटीएल उपकरण अनेक भिन्न-भिन्न रिलेशनल डेटाबेस के साथ संचार करने और पूरे संगठन में उपयोग किए जाने वाले विभिन्न फ़ाइल स्वरूपों को पढ़ने में सक्षम होना चाहिए। ईटीएल टूल्स ने एंटरप्राइज़ एप्लिकेशन एकीकरण या यहां तक कि एंटरप्राइज़ सेवा बस सिस्टम में माइग्रेट करना शुरू कर दिया है, जो अब डेटा के निष्कर्षण, परिवर्तन और लोडिंग से कहीं अधिक को कवर करता है। अनेक ईटीएल विक्रेताओं के पास अब डेटा प्रोफाइलिंग, डेटा गुणवत्ता और मेटाडेटा (कंप्यूटिंग) क्षमताएं हैं। ईटीएल टूल के लिए सामान्य उपयोग के स्थितियों में सीएसवी फ़ाइलों को रिलेशनल डेटाबेस द्वारा पढ़ने योग्य प्रारूप में परिवर्तित करना सम्मिलित है। ईटीएल टूल्स द्वारा लाखों रिकॉर्ड्स के विशिष्ट अनुवाद की सुविधा प्रदान की जाती है जो उपयोगकर्ताओं को सीएसवी-जैसे डेटा फ़ीड/फ़ाइलों को इनपुट करने और उन्हें यथासंभव कम कोड के साथ डेटाबेस में आयात करने में सक्षम बनाती है।
ईटीएल उपकरण सामान्यतः पेशेवरों की विस्तृत श्रृंखला द्वारा उपयोग किए जाते हैं - कंप्यूटर विज्ञान के छात्रों से लेकर कंपनी खाता प्रबंधन के प्रभारी डेटाबेस आर्किटेक्ट तक बड़े डेटा समुच्चय को जल्दी से आयात करना चाहते हैं, ईटीएल उपकरण सुविधाजनक उपकरण बन गए हैं जिन पर अधिकतम प्रदर्शन प्राप्त करने के लिए भरोसा किया जा सकता है। . अधिकांश स्थितियों में ईटीएल टूल में जीयूआई होता है जो उपयोगकर्ताओं को फ़ाइलों को पार्स करने और डेटा प्रकारों को संशोधित करने के लिए बड़े प्रोग्राम लिखने के विपरीत, विज़ुअल डेटा मैपर का उपयोग करके डेटा को आसानी से बदलने में मदद करता है।
जबकि ईटीएल उपकरण परंपरागत रूप से डेवलपर्स और आईटी कर्मचारियों के लिए रहे हैं, शोध फर्म गार्टनर ने लिखा है कि नया चलन व्यावसायिक उपयोगकर्ताओं को ये क्षमताएं प्रदान करना है जिससे वे आईटी कर्मचारियों के पास जाने के बजाय जरूरत पड़ने पर स्वयं कनेक्शन और डेटा एकीकरण बना सकें।[11] गार्टनर इन गैर-तकनीकी उपयोगकर्ताओं को सिटीजन इंटीग्रेटर्स के रूप में संदर्भित करता है।[12]
ईटीएल बनाम ईएलटी
एक्सट्रेक्ट, लोड, ट्रांसफॉर्म (ईएलटी) ईटीएल का प्रकार है जहां निकाले गए डेटा को पहले लक्ष्य सिस्टम में लोड किया जाता है।[13] एनालिटिक्स पाइपलाइन के लिए आर्किटेक्चर इस बात पर भी विचार करेगा कि डेटा को कहां साफ और समृद्ध किया जाए[13]साथ ही आयामों को कैसे अनुरूप बनाया जाए।[1]
राल्फ किमबॉल और जो कैसर्टा की पुस्तक द डेटा वेयरहाउस ईटीएल टूलकिट, (विली, 2004), जिसका उपयोग डेटा वेयरहाउसिंग में ईटीएल प्रक्रियाओं को पढ़ाने वाले पाठ्यक्रमों के लिए पाठ्यपुस्तक के रूप में किया जाता है, ने इस मुद्दे को संबोधित किया है।[14] Amazon Redshift, Google BigQuery, Microsoft Azure Synapse Analytics और स्नोफ्लेक कंप्यूटिंग जैसे क्लाउड-आधारित डेटा वेयरहाउस अत्यधिक स्केलेबल कंप्यूटिंग शक्ति प्रदान करने में सक्षम हैं। यह व्यवसायों को प्रीलोड ट्रांसफ़ॉर्मेशन से बचने और कच्चे डेटा को अपने डेटा वेयरहाउस में दोहराने की सुविधा देता है, जहां यह SQL का उपयोग करके उन्हें आवश्यकतानुसार रूपांतरित कर सकता है।
ईएलटी का उपयोग करने के पश्चात्, डेटा को आगे संसाधित किया जा सकता है और डेटा मार्ट में संग्रहीत किया जा सकता है।[15] प्रत्येक दृष्टिकोण के अपने पक्ष और विपक्ष हैं।[16] अधिकांश डेटा एकीकरण उपकरण ईटीएल की ओर झुकते हैं, जबकि ईएलटी डेटाबेस और डेटा वेयरहाउस उपकरणों में लोकप्रिय है। इसी तरह, टीईएल (ट्रांसफॉर्म, एक्सट्रैक्ट, लोड) करना संभव है, जहां डेटा को पहले ब्लॉकचेन पर रूपांतरित किया जाता है (डेटा में परिवर्तन रिकॉर्ड करने का विधि, उदाहरण के लिए, टोकन बर्निंग) निकालने और दूसरे डेटा स्टोर में लोड करने से पहले।[17]
यह भी देखें
- वास्तुकला पैटर्न (कंप्यूटर विज्ञान)#उदाहरण|वास्तुकला पैटर्न (ईए संदर्भ वास्तुकला)
- बनाएं, पढ़ें, अपडेट करें और हटाएं (सीआरयूडी)
- डेटा सफाई
- डेटा एकीकरण
- डेटा मार्ट
- डेटा मध्यस्थता
- डेटा जाल, डोमेन-उन्मुख डेटा आर्किटेक्चर
- आंकड़ों का विस्थापन
- इलेक्ट्रॉनिक डाटा इंटरचेंज|इलेक्ट्रॉनिक डेटा इंटरचेंज (ईडीआई)
- उद्यम स्थापत्य
- व्यय और निवेश वसूली प्रणाली (ईसीआरएस)
- हार्टमैन पाइपलाइन
- नियमी इलेक्ट्रॉनिक डेटा एक्सचेंज मानक|नियमी इलेक्ट्रॉनिक डेटा एक्सचेंज मानक (LEDES)
- मेटाडेटा खोज
- ऑनलाइन विश्लेषणात्मक प्रसंस्करण|ऑनलाइन विश्लेषणात्मक प्रसंस्करण (OLAP)
- ऑनलाइन लेनदेन प्रसंस्करण (ओएलटीपी)
- स्थानिक ईटीएल
संदर्भ
- ↑ 1.0 1.1 1.2 Ralph., Kimball (2004). The data warehouse ETL toolkit : practical techniques for extracting, cleaning, conforming, and delivering data. Caserta, Joe, 1965-. Indianapolis, IN: Wiley. ISBN 978-0764579233. OCLC 57301227.
- ↑ Denney, MJ (2016). "एक बड़े नैदानिक अनुसंधान डेटाबेस को पॉप्युलेट करने के लिए उपयोग की जाने वाली अर्क, परिवर्तन, लोड प्रक्रिया को मान्य करना". International Journal of Medical Informatics. 94: 271–4. doi:10.1016/j.ijmedinf.2016.07.009. PMC 5556907. PMID 27506144.
{{cite journal}}
: zero width space character in|title=
at position 17 (help) - ↑ Zhao, Shirley (2017-10-20). "What is ETL? (Extract, Transform, Load) | Experian". Experian Data Quality (in English). Retrieved 2018-12-12.
- ↑ Pott, Trevor (4 June 2018). "Extract, transform, load? More like extremely tough to load, amirite?". The Register (in English). Retrieved 2018-12-12.
- ↑ "डेटा एकीकरण जानकारी". डेटा एकीकरण जानकारी.
- ↑ Theodorou, Vasileios (2017). "Frequent patterns in ETL workflows: An empirical approach". Data & Knowledge Engineering. 112: 1–16. doi:10.1016/j.datak.2017.08.004. hdl:2117/110172.
- ↑ Virtual ETL
- ↑ "ईटीएल ख़त्म नहीं हुआ है. व्यावसायिक सफलता के लिए यह अभी भी महत्वपूर्ण है". Data Integration Info. 8 June 2020. Retrieved 14 July 2020.
- ↑ Kimball, The Data Warehouse Lifecycle Toolkit, p 332
- ↑ 10.0 10.1 Golfarelli/Rizzi, Data Warehouse Design, p 291
- ↑ "स्वयं सेवा डेटा एकीकरण का अनवरत उदय". Gartner. 22 May 2015. Retrieved 31 January 2016.
- ↑ "सिटीजन इंटीग्रेटर को अपनाएं". Gartner. Retrieved September 29, 2021.
- ↑ 13.0 13.1 Amazon Web Services, Data Warehousing on AWS, p 9
- ↑ "The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data [Book]".
- ↑ Amazon Web Services, Data Warehousing on AWS, 2016, p 10
- ↑ "ETL vs ELT: We Posit, You Judge". 30 August 2013.
- ↑ Bandara, H. M. N. Dilum; Xu, Xiwei; Weber, Ingo (2020). "Patterns for Blockchain Data Migration". Proceedings of the European Conference on Pattern Languages of Programs 2020. pp. 1–19. arXiv:1906.00239. doi:10.1145/3424771.3424796. ISBN 9781450377690. S2CID 219956181.