एक्सट्रेक्ट, ट्रांसफॉर्म, लोड: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Procedure in computing}} | {{Short description|Procedure in computing}} | ||
{{Data transformation}} | {{Data transformation}} | ||
[[ कम्प्यूटिंग |कम्प्यूटिंग]] में, '''एक्सट्रेक्ट, ट्रांसफॉर्म, लोड''' (ईटीएल) | [[ कम्प्यूटिंग |कम्प्यूटिंग]] में, '''एक्सट्रेक्ट, ट्रांसफॉर्म, लोड''' (ईटीएल) तीन चरण की प्रक्रिया है जहां डेटा को निकाला जाता है, और रूपांतरित किया जाता है | और (क्लीनड, सैनीटाइजड, स्क्राबेड किया जाता है) और आउटपुट डेटा कंटेनर में लोड किया जाता है। डेटा को इस प्रकार और अधिक स्रोतों से एकत्रित किया जा सकता है और इसे इससे अधिक गंतव्यों पर आउटपुट भी किया जा सकता है। ईटीएल प्रसंस्करण में सामान्यतः [[सॉफ़्टवेयर एप्लिकेशन]] का उपयोग करके निष्पादित किया जाता है किन्तु इसे [[ sysop |सिस्टम ऑपरेटरों]] द्वारा मैन्युअल रूप से भी किया जा सकता है। ईटीएल सॉफ्टवेयर सामान्यतः पूर्ण प्रक्रिया को स्वचालित करता है और इसे मैन्युअल रूप से या इसे पुनरावर्ती शेड्यूल पर या तब एकल नौकरियों के रूप में या नौकरियों के बैच में एकत्रित किया जा सकता है। | ||
[[File:Conventional ETL Diagram.jpg|alt=Conventional ETL diagram|thumb|पारंपरिक ईटीएल आरेख <ref name="Kimball 2004" />]]यह उचित रूप से डिज़ाइन किया गया ईटीएल सिस्टम स्रोत सिस्टम से डेटा निकालता है और इस प्रकार [[डेटा प्रकार|डेटा टाइप]] और डेटा वैधता मानकों को प्रयुक्त करता है और यह सुनिश्चित करता है कि यह आउटपुट की आवश्यकताओं के लिए संरचनात्मक रूप से अनुरूप है। कुछ ईटीएल सिस्टम प्रस्तुति-तैयार प्रारूप में भी डेटा वितरित कर सकते हैं जिससे एप्लिकेशन डेवलपर्स एप्लिकेशन बना सकें और अंतिम उपयोगकर्ता निर्णय ले सकते हैं। <ref name="Kimball 2004">{{Cite book|title=The data warehouse ETL toolkit : practical techniques for extracting, cleaning, conforming, and delivering data|last=Ralph.|first=Kimball|date=2004|publisher=Wiley|others=Caserta, Joe, 1965-|isbn=978-0764579233|location=Indianapolis, IN|oclc=57301227}}</ref> | [[File:Conventional ETL Diagram.jpg|alt=Conventional ETL diagram|thumb|पारंपरिक ईटीएल आरेख <ref name="Kimball 2004" />]]यह उचित रूप से डिज़ाइन किया गया ईटीएल सिस्टम स्रोत सिस्टम से डेटा निकालता है और इस प्रकार [[डेटा प्रकार|डेटा टाइप]] और डेटा वैधता मानकों को प्रयुक्त करता है और यह सुनिश्चित करता है कि यह आउटपुट की आवश्यकताओं के लिए संरचनात्मक रूप से अनुरूप है। कुछ ईटीएल सिस्टम प्रस्तुति-तैयार प्रारूप में भी डेटा वितरित कर सकते हैं जिससे एप्लिकेशन डेवलपर्स एप्लिकेशन बना सकें और अंतिम उपयोगकर्ता निर्णय ले सकते हैं। <ref name="Kimball 2004">{{Cite book|title=The data warehouse ETL toolkit : practical techniques for extracting, cleaning, conforming, and delivering data|last=Ralph.|first=Kimball|date=2004|publisher=Wiley|others=Caserta, Joe, 1965-|isbn=978-0764579233|location=Indianapolis, IN|oclc=57301227}}</ref> | ||
ईटीएल प्रक्रिया का उपयोग प्रायः [[डेटा वेयरहाउस]] में किया जाता है।<ref>{{Cite journal|last=Denney|first=MJ|date=2016|title=एक बड़े नैदानिक अनुसंधान डेटाबेस को पॉप्युलेट करने के लिए उपयोग की जाने वाली अर्क, परिवर्तन, लोड प्रक्रिया को मान्य करना|journal=International Journal of Medical Informatics|volume=94|pages=271–4|doi=10.1016/j.ijmedinf.2016.07.009|pmc=5556907|pmid=27506144}}</ref> ईटीएल सिस्टम सामान्यतः अनेक अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो सामान्यतः विभिन्न [[विक्रेता|विक्रेताओं]] द्वारा विकसित और समर्थित होते हैं | और यह भिन्न कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले भिन्न-भिन्न सिस्टम को प्रायः विभिन्न हितधारकों स्टेकहोल्डर्स (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, निवेश लेखांकन प्रणाली पेरोल, क्रय और विक्रय से डेटा को जोड़ सकती है। | ईटीएल प्रक्रिया का उपयोग प्रायः [[डेटा वेयरहाउस]] में किया जाता है।<ref>{{Cite journal|last=Denney|first=MJ|date=2016|title=एक बड़े नैदानिक अनुसंधान डेटाबेस को पॉप्युलेट करने के लिए उपयोग की जाने वाली अर्क, परिवर्तन, लोड प्रक्रिया को मान्य करना|journal=International Journal of Medical Informatics|volume=94|pages=271–4|doi=10.1016/j.ijmedinf.2016.07.009|pmc=5556907|pmid=27506144}}</ref> ईटीएल सिस्टम सामान्यतः अनेक अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो सामान्यतः विभिन्न [[विक्रेता|विक्रेताओं]] द्वारा विकसित और समर्थित होते हैं | और यह भिन्न कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले भिन्न-भिन्न सिस्टम को प्रायः विभिन्न हितधारकों स्टेकहोल्डर्स (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, निवेश लेखांकन प्रणाली पेरोल, क्रय और विक्रय से डेटा को जोड़ सकती है। | ||
Line 10: | Line 10: | ||
ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना सम्मिलित है। अनेक स्थितियों में, यह ईटीएल के सबसे महत्वपूर्ण रूप का प्रतिनिधित्व करता है, क्योंकि डेटा को सही प्रकार से निकालना उसके पश्चात् की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक भिन्न सिस्टम भिन्न डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस [[वर्चुअल स्टोरेज एक्सेस विधि|वर्चुअल स्टोरेज एक्सेस मैथेड]] (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम) हैं, या यहां तक कि [[ वेब मकड़ी |वेब क्रॉलर]] और [[ स्क्रीन scraping |डेटा स्क्रैपिंग]] जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी होते हैं। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन की और विधि है जब किसी मध्यवर्ती डेटा संग्रहण की आवश्यकता नहीं होती है। | ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना सम्मिलित है। अनेक स्थितियों में, यह ईटीएल के सबसे महत्वपूर्ण रूप का प्रतिनिधित्व करता है, क्योंकि डेटा को सही प्रकार से निकालना उसके पश्चात् की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक भिन्न सिस्टम भिन्न डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस [[वर्चुअल स्टोरेज एक्सेस विधि|वर्चुअल स्टोरेज एक्सेस मैथेड]] (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम) हैं, या यहां तक कि [[ वेब मकड़ी |वेब क्रॉलर]] और [[ स्क्रीन scraping |डेटा स्क्रैपिंग]] जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी होते हैं। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन की और विधि है जब किसी मध्यवर्ती डेटा संग्रहण की आवश्यकता नहीं होती है। | ||
निष्कर्षण के आंतरिक भाग में यह पुष्टि करने के लिए डेटा सत्यापन सम्मिलित है कि स्रोतों से खींचे गए डेटा में किसी दिए गए डोमेन में सही/अपेक्षित मान हैं (जैसे पैटर्न/डिफ़ॉल्ट या मानों की सूची) हैं। यदि डेटा सत्यापन नियमों में विफल रहता है, तब इसे पूर्ण | निष्कर्षण के आंतरिक भाग में यह पुष्टि करने के लिए डेटा सत्यापन सम्मिलित है कि स्रोतों से खींचे गए डेटा में किसी दिए गए डोमेन में सही/अपेक्षित मान हैं (जैसे पैटर्न/डिफ़ॉल्ट या मानों की सूची) हैं। यदि डेटा सत्यापन नियमों में विफल रहता है, तब इसे पूर्ण अनुसार या आंशिक रूप से अस्वीकार कर दिया जाता है। अस्वीकृत डेटा को आदर्श रूप से आगे के विश्लेषण के लिए त्रुटि रिकॉर्ड की पहचान करने और सुधारने या डेटा त्रुटियाँ करने के लिए स्रोत प्रणाली में वापस रिपोर्ट किया जाता है। | ||
==परिवर्तन == | ==परिवर्तन == | ||
डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे | डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तत्पर करने के लिए निकाले गए डेटा पर नियमों या कार्यों की श्रृंखला प्रयुक्त की जाती है। | ||
परिवर्तन का महत्वपूर्ण कार्य [[डेटा सफाई]] है, जिसका उद्देश्य केवल उचित डेटा को लक्ष्य तक पहुंचाना है। जब विभिन्न प्रणालियाँ परस्पर क्रिया करती हैं तब चुनौती संबंधित प्रणालियों के इंटरफेसिंग और संचार में होती है। जो चरित्र समुच्चय प्रणाली में उपलब्ध हो सकते हैं | परिवर्तन का महत्वपूर्ण कार्य [[डेटा सफाई|डेटा क्लीन]] है, जिसका उद्देश्य केवल उचित डेटा को लक्ष्य तक पहुंचाना है। जब विभिन्न प्रणालियाँ परस्पर क्रिया करती हैं तब यह चुनौती संबंधित प्रणालियों के इंटरफेसिंग और संचार में होती है। जो चरित्र समुच्चय प्रणाली में उपलब्ध हो सकते हैं वह अन्य में उपलब्ध नहीं हो सकते हैं। | ||
अन्य स्थितियों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से | अन्य स्थितियों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से इसमें अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है | ||
* लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए [[शून्य (एसक्यूएल)]] कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तब चयन में केवल रोल नंबर और वेतन सम्मिलित हो सकता है। | * लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए [[शून्य (एसक्यूएल)]] कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तब चयन में केवल रोल नंबर और वेतन सम्मिलित हो सकता है। यह, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन उपस्थित नहीं है | उनका (वेतन = शून्य) हैं। | ||
* कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, किन्तु वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है) | * कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, किन्तु वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है) | ||
* फ्री-फॉर्म मानों को एन्कोड करना: (उदाहरण के लिए, मेल को | * फ्री-फॉर्म मानों को एन्कोड करना: (उदाहरण के लिए, मेल को M में मैप करना हैं) | ||
* | * नवीन परिकलित मान प्राप्त करना: (उदाहरण के लिए, क्रय_राशि = मात्रा * इकाई_मान हैं) | ||
* खोज प्रदर्शन को | * खोज प्रदर्शन को उत्तम बनाने के लिए कॉलम की सूची के आधार पर डेटा को क्रमबद्ध करना हैं | ||
* जुड़ें (संबंधपरक बीजगणित) | * जुड़ें (संबंधपरक बीजगणित) या अनेक स्रोतों (उदाहरण के लिए, लुकअप, मर्ज) से डेटा को जोड़ना और डेटा लिंकेज को रिकॉर्ड करना हैं | ||
* एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की अनेक पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल | * एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की अनेक पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल क्रय,और प्रत्येक क्षेत्र के लिए, आदि हैं) | ||
* [[सरोगेट कुंजी]] उत्पन्न करना | * [[सरोगेट कुंजी|सरोगेट की]] उत्पन्न करना सरोगेट-कुंजी मान हैं | ||
* [[ खिसकाना | | * [[ खिसकाना | ट्रांसपोज़िंग]] या [[ पिवट तालिका |पिवोटिंग]] (एकाधिक कॉलम को अनेक पंक्तियों में परिवर्तित या इसके विपरीत करना हैं) | ||
* | * इसमें कॉलम को अनेक कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से भिन्न किए गए मानों को परिवर्तित करना हैं अल्पविराम से भिन्न की गई सूची, कॉलम में स्ट्रिंग के रूप में निर्दिष्ट, भिन्न-भिन्न कॉलम में भिन्न-भिन्न मानों में होता हैं) | ||
* दोहराए जाने वाले कॉलमों को भिन्न-भिन्न करना | * दोहराए जाने वाले कॉलमों को भिन्न-भिन्न करना हैं | ||
* तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और मान्य करना | * तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और उसको मान्य करना हैं | ||
* किसी भी प्रकार का डेटा सत्यापन प्रयुक्त करना; असफल सत्यापन के परिणामस्वरूप डेटा की पूर्ण अस्वीकृति, आंशिक अस्वीकृति, या बिल्कुल भी अस्वीकृति नहीं हो सकती है, और इस प्रकार नियम डिजाइन और अपवाद हैंडलिंग के आधार पर कोई भी, कुछ या सभी डेटा अगले चरण में नहीं सौंपा जाता है | * किसी भी प्रकार का डेटा सत्यापन प्रयुक्त करना; असफल सत्यापन के परिणामस्वरूप डेटा की पूर्ण अस्वीकृति, आंशिक अस्वीकृति, या बिल्कुल भी अस्वीकृति नहीं हो सकती है, और इस प्रकार नियम डिजाइन और अपवाद हैंडलिंग के आधार पर कोई भी, कुछ भी या सभी डेटा अगले चरण में नहीं सौंपा जाता है |उपरोक्त अनेक परिवर्तनों के परिणामस्वरूप अपवाद हो सकते हैं, उदाहरण के लिए, जब कोई कोड अनुवाद निकाले गए डेटा में किसी अज्ञात कोड को पार्स करता है | ||
== लोड == | == लोड == | ||
लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।<ref>{{Cite web|url=https://www.dataintegration.info/etl|title=डेटा एकीकरण जानकारी|website=डेटा एकीकरण जानकारी}}</ref> संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस | लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।<ref>{{Cite web|url=https://www.dataintegration.info/etl|title=डेटा एकीकरण जानकारी|website=डेटा एकीकरण जानकारी}}</ref> संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस उपस्थित जानकारी को संचयी जानकारी से अधिलेखित कर सकते हैं निकाले गए डेटा को अपडेट करना प्रायः दैनिक, साप्ताहिक या मासिक आधार पर किया जाता है। अन्य डेटा वेयरहाउस (या यहां तक कि उसी डेटा वेयरहाउस के अन्य भागों) नियमित अंतराल पर ऐतिहासिक रूप में नवीन डेटा जोड़ सकते हैं - उदाहरण के लिए, प्रति घंटा हैं। इसे समझने के लिए, डेटा वेयरहाउस पर विचार करें जो पिछले वर्ष के क्रय रिकॉर्ड को बनाए रखने के लिए आवश्यक है। यह डेटा वेयरहाउस वर्ष से अधिक पुराने किसी भी डेटा को नवीनतम डेटा के साथ अधिलेखित कर देता है। चूँकि, किसी भी वर्ष की विंडो के लिए डेटा की प्रविष्टि ऐतिहासिक विधियों से की जाती है। इसे परिवर्तित करने या जोड़ने का समय और सीमा रणनीतिक डिज़ाइन विकल्प हैं जो उपलब्ध समय और व्यावसायिक आवश्यकताओं पर निर्भर करते हैं। अधिक सम्मिश्र सिस्टम डेटा वेयरहाउस में लोड किए गए डेटा में सभी परिवर्तनों का इतिहास और [[ लेखापरीक्षा |लेखापरीक्षा]] बनाए रख सकते हैं। जैसे ही लोड चरण डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - प्रयुक्त होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड) हैं, जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। यह ईटीएल प्रक्रिया का भाग हैं | ||
जैसे ही लोड चरण डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - प्रयुक्त होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड), जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। ईटीएल प्रक्रिया का | |||
* उदाहरण के लिए, वित्तीय संस्थान के | * उदाहरण के लिए, वित्तीय संस्थान के समीप ग्राहक के बारे में अनेक विभागों में जानकारी हो सकती है और प्रत्येक विभाग में उस ग्राहक की जानकारी भिन्न-भिन्न विधियों से सूचीबद्ध हो सकती है। सदस्यता विभाग ग्राहक को नाम के आधार पर सूचीबद्ध कर सकता है, जबकि लेखा विभाग ग्राहक को संख्या के आधार पर सूचीबद्ध कर सकता है। ईटीएल इन सभी डेटा अवयवों को '''बंडल''' कर सकता है और उन्हें समान प्रस्तुति में समेकित कर सकता है, जैसे कि डेटाबेस या डेटा वेयरहाउस में संग्रहीत करना हैं। | ||
* कंपनियां ईटीएल का उपयोग करने | * कंपनियां ईटीएल का उपयोग करने की दूसरी विधि जानकारी को किसी अन्य एप्लिकेशन में स्थायी रूप से स्थानांतरित करना है। उदाहरण के लिए, नवीन एप्लिकेशन किसी अन्य डेटाबेस विक्रेता और संभवतः बहुत भिन्न डेटाबेस स्कीमा का उपयोग कर सकता है। ईटीएल का उपयोग डेटा को नवीनतम एप्लिकेशन के उपयोग के लिए उपयुक्त प्रारूप में परिवर्तित करने के लिए किया जा सकता है। | ||
* | * उदाहरण [[व्यय और लागत वसूली प्रणाली (ईसीआरएस)|एक्सपेंस और कॉस्ट रिकवरी सिस्टम (ईसीआरएस)]] होगा जैसे कि [[ लेखाकर्म |अकाउंटेंट]] , [[कंसल्टेंसी]] और [[कानून फर्म|लॉ फर्म]] द्वारा उपयोग किया जाता है। डेटा सामान्यतः [[कानून अभ्यास प्रबंधन सॉफ्टवेयर|नियम अभ्यास प्रबंधन सॉफ्टवेयर]] में समाप्त होता है, चूंकि कुछ व्यवसाय मानव संसाधन (कार्मिक विभाग) को कर्मचारी उत्पादकता रिपोर्ट या सुविधा प्रबंधन को उपकरण उपयोग रिपोर्ट के लिए रॉ डेटा का उपयोग भी कर सकते हैं। | ||
== वास्तविक जीवन ईटीएल चक्र == | == वास्तविक जीवन ईटीएल चक्र == | ||
विशिष्ट वास्तविक जीवन ईटीएल चक्र में निम्नलिखित निष्पादन चरण होते हैं | विशिष्ट वास्तविक जीवन ईटीएल चक्र में निम्नलिखित निष्पादन चरण होते हैं | ||
#चक्र आरंभ | #चक्र आरंभ | ||
Line 47: | Line 46: | ||
# उद्धरण (स्रोतों से) | # उद्धरण (स्रोतों से) | ||
# [[आंकड़ा मान्यीकरण]] | # [[आंकड़ा मान्यीकरण]] | ||
# ट्रांसफॉर्म करें (डेटा | # ट्रांसफॉर्म करें (डेटा क्लीन, व्यावसायिक नियम प्रयुक्त करें, डेटा अखंडता की जांच करें, एग्रीगेट (डेटा वेयरहाउस) बनाएं या भिन्न करें) | ||
# स्टेज (यदि उपयोग किया जाता है तब [[स्टेजिंग (डेटा)]] तालिकाओं में लोड करें) | # स्टेज (यदि उपयोग किया जाता है तब [[स्टेजिंग (डेटा)]] तालिकाओं में लोड करें) | ||
# [[ परीक्षण विवरण | परीक्षण विवरण]] (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन | # [[ परीक्षण विवरण | परीक्षण विवरण]] (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन पर और साथ ही, विफलता के स्थितियों में, डायग्नोसिस/रिपेयर में सहायता करती है) | ||
# प्रकाशित करें (तालिकाओं को लक्षित करने के लिए) | # प्रकाशित करें (तालिकाओं को लक्षित करने के लिए) | ||
# [[संग्रह]] | # [[संग्रह|संग्रहालय]] किया जा रहा है | ||
== चुनौतियाँ == | == चुनौतियाँ == | ||
ईटीएल प्रक्रियाओं में | ईटीएल प्रक्रियाओं में अधिक सम्मिश्रता सम्मिलित हो सकती है, और अनुचित विधियों से डिजाइन किए गए ईटीएल सिस्टम के साथ महत्वपूर्ण परिचालन समस्याएं हो सकती हैं। | ||
किसी परिचालन प्रणाली में डेटा मान या डेटा गुणवत्ता की सीमा सत्यापन और परिवर्तन नियमों के निर्दिष्ट होने पर डिजाइनरों की अपेक्षाओं से अधिक हो सकती है। डेटा विश्लेषण के | किसी परिचालन प्रणाली में डेटा मान या डेटा गुणवत्ता की सीमा सत्यापन और परिवर्तन नियमों के निर्दिष्ट होने पर डिजाइनरों की अपेक्षाओं से अधिक हो सकती है। डेटा विश्लेषण के समय किसी स्रोत की [[डेटा प्रोफाइलिंग]] उन डेटा स्थितियों की पहचान कर सकती है जिन्हें परिवर्तन नियम विनिर्देशों द्वारा प्रबंधित किया जाना चाहिए, जिससे ईटीएल प्रक्रिया में स्पष्ट रूप से और अंतर्निहित रूप से प्रयुक्त सत्यापन नियमों में संशोधन हो सकते हैं। | ||
डेटा वेयरहाउस सामान्यतः विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से | डेटा वेयरहाउस सामान्यतः विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से एकत्र किए जाते हैं। इस प्रकार, ईटीएल सभी डेटा को मानक, सजातीय वातावरण में साथ लाने की महत्वपूर्ण प्रक्रिया है। | ||
डिज़ाइन विश्लेषण<ref>{{Cite journal|last=Theodorou|first=Vasileios|date=2017|title=Frequent patterns in ETL workflows: An empirical approach|journal=Data & Knowledge Engineering|volume=112|pages=1–16|doi=10.1016/j.datak.2017.08.004|hdl=2117/110172|hdl-access=free}}</ref> इसके उपयोग के पूरे जीवनकाल में ईटीएल प्रणाली की मापनीयता स्थापित की जानी चाहिए - जिसमें सेवा स्तर के समझौतों के | डिज़ाइन विश्लेषण<ref>{{Cite journal|last=Theodorou|first=Vasileios|date=2017|title=Frequent patterns in ETL workflows: An empirical approach|journal=Data & Knowledge Engineering|volume=112|pages=1–16|doi=10.1016/j.datak.2017.08.004|hdl=2117/110172|hdl-access=free}}</ref> इसके उपयोग के पूरे जीवनकाल में ईटीएल प्रणाली की मापनीयता स्थापित की जानी चाहिए - जिसमें सेवा स्तर के समझौतों के अंदर संसाधित किए जाने वाले डेटा की मात्रा को समझना भी सम्मिलित है। स्रोत सिस्टम से निकालने के लिए उपलब्ध समय में परिवर्तन हो सकता है, जिसका अर्थ यह हो सकता है कि समान मात्रा में डेटा को कम समय में संसाधित करना पड़ सकता है। कुछ ईटीएल प्रणालियों को दसियों टेराबाइट्स डेटा के साथ डेटा वेयरहाउस को अपडेट करने के लिए टेराबाइट्स डेटा को संसाधित करने के लिए स्केल करना पड़ता है। डेटा की बढ़ती मात्रा के लिए ऐसे डिज़ाइन की आवश्यकता हो सकती है जो दैनिक बैच प्रसंस्करण से लेकर अनेक-दिवसीय माइक्रो बैच तक संदेश श्रेणी के साथ एकीकरण या निरंतर परिवर्तन और अद्यतन के लिए वास्तविक समय परिवर्तन-डेटा-कैप्चर तक स्केल कर सकते हैं। | ||
== प्रदर्शन == | == प्रदर्शन == | ||
ईटीएल विक्रेता अनेक सीपीयू, अनेक हार्ड ड्राइव, अनेक गीगाबिट-नेटवर्क कनेक्शन और बहुत अधिक मेमोरी वाले शक्तिशाली सर्वर का उपयोग करके अपने रिकॉर्ड-सिस्टम को अनेक टीबी (टेराबाइट्स) प्रति घंटे (या ~ 1 जीबी प्रति सेकंड) पर बेंचमार्क करते हैं। | ईटीएल विक्रेता अनेक सीपीयू, अनेक हार्ड ड्राइव, अनेक गीगाबिट-नेटवर्क कनेक्शन और बहुत अधिक मेमोरी वाले शक्तिशाली सर्वर का उपयोग करके अपने रिकॉर्ड-सिस्टम को अनेक टीबी (टेराबाइट्स) प्रति घंटे (या ~ 1 जीबी प्रति सेकंड) पर बेंचमार्क करते हैं। | ||
वास्तविक जीवन में, ईटीएल प्रक्रिया का सबसे | वास्तविक जीवन में, ईटीएल प्रक्रिया का सबसे निष्क्रिय भाग सामान्यतः डेटाबेस लोड चरण में होता है। डेटाबेस निष्क्रिय प्रदर्शन कर सकते हैं क्योंकि उन्हें समवर्तीता, अखंडता '''रखरखाव''' और सूचकांकों का ध्यान रखना होता है। इस प्रकार, उत्तम प्रदर्शन के लिए, निम्नलिखित को नियोजित करना उचित हो सकता है | | ||
* हाई-स्पीड एक्सट्रैक्ट प्राप्त करते समय सोर्स सिस्टम पर लोड को कम करने के लिए जब भी संभव हो डायरेक्ट पाथ एक्सट्रेक्ट विधि या बल्क अनलोड (डेटाबेस से इन्क्वायरी करने के | * हाई-स्पीड एक्सट्रैक्ट प्राप्त करते समय सोर्स सिस्टम पर लोड को कम करने के लिए जब भी संभव हो डायरेक्ट पाथ एक्सट्रेक्ट विधि या बल्क अनलोड (डेटाबेस से इन्क्वायरी करने के अतिरिक्त हैं) | ||
* अधिकांश परिवर्तन प्रसंस्करण डेटाबेस के बाहर | * अधिकांश परिवर्तन प्रसंस्करण डेटाबेस के बाहर होते हैं | ||
* जब भी संभव हो बल्क लोड संचालन | * जब भी संभव हो बल्क लोड संचालन कर सकते हैं | ||
फिर भी, बल्क ऑपरेशंस का उपयोग करते हुए भी, डेटाबेस एक्सेस सामान्यतः ईटीएल प्रक्रिया में बाधा है। प्रदर्शन बढ़ाने के लिए उपयोग की जाने वाली कुछ सामान्य विधियाँ हैं | फिर भी, बल्क ऑपरेशंस का उपयोग करते हुए भी, डेटाबेस एक्सेस सामान्यतः ईटीएल प्रक्रिया में बाधा है। प्रदर्शन बढ़ाने के लिए उपयोग की जाने वाली कुछ सामान्य विधियाँ हैं | ||
* [[विभाजन (डेटाबेस)]] तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)। <code>null</code> | * [[विभाजन (डेटाबेस)]] तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)। और ( <code>null</code> मानों पर ध्यान दें जो विभाजन को विकृत कर सकते हैं) | ||
* लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें (<code>disable constraint</code> ...) लोड के | * लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें और (<code>disable constraint</code> ...) लोड के समय लक्ष्य डेटाबेस तालिकाओं में होते हैं | ||
* [[डेटाबेस ट्रिगर]] अक्षम करें (<code>disable trigger</code> ...) लोड के | * [[डेटाबेस ट्रिगर]] अक्षम करें और (<code>disable trigger</code> ...) लोड के समय लक्ष्य डेटाबेस तालिकाओं में: भिन्न चरण के रूप में उनके प्रभाव का अनुकरण करें | ||
* ईटीएल परत में आईडी जनरेट करें (डेटाबेस में नहीं) | * ईटीएल परत में आईडी जनरेट करें (डेटाबेस में नहीं) | ||
* लोड से पहले [[ डेटाबेस सूचकांक |डेटाबेस सूचकांक]] (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के पश्चात् उन्हें फिर से बनाएं (एसक्यूएल: <code>drop index</code> ...<code>; create index</code> ...) | * लोड से पहले [[ डेटाबेस सूचकांक |डेटाबेस सूचकांक]] (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के पश्चात् उन्हें फिर से बनाएं (एसक्यूएल: <code>drop index</code> ...<code>; create index</code> ...) | ||
* जब संभव हो तब समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तब यह | * जब संभव हो तब समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तब यह ठीक प्रकार से कार्य करता है (नोट: इसके साथ ही तालिका (विभाजन) में समानांतर लोड करने का प्रयास सामान्यतः लॉक का कारण बनता है - यदि इसका डेटा पंक्तियों पर नहीं, तब यह सूचकांकों पर होता हैं) | ||
* यदि | * यदि प्रविष्टि, अद्यतन, या विलोपन करने की आवश्यकता उपस्थित है, तब पता लगाएं कि ईटीएल परत में किन पंक्तियों को किसके अनुसार इससे संसाधित किया जाना चाहिए, और फिर डेटाबेस में इन तीन कार्यों को भिन्नता से संसाधित करें; आप प्रायः इंसर्ट के लिए बल्क लोड कर सकते हैं, किन्तु अपडेट और डिलीट सामान्यतः [[एपीआई]] ([[एसक्यूएल]] का उपयोग करके) के माध्यम से होते हैं | ||
चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें | चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें परिवर्तन सम्मिलित हो सकता है। उदाहरण के लिए, डुप्लिकेट का उपयोग करके हटाना <code>distinct</code> डेटाबेस में निष्क्रिय हो सकता है | इस प्रकार, इसे बाहर करना ही उचित होता है। दूसरी ओर, यदि <code>distinct</code> उपयोग कर रहे हैं उल्लेखनीय रूप से (x100) निकाले जाने वाली पंक्तियों की संख्या कम कर देता है, तब डेटा को अनलोड करने से पहले डेटाबेस में जितनी शीघ्रता हो सके डुप्लिकेशंस को हटाना समझ में आता है। | ||
ईटीएल में समस्याओं का | ईटीएल में समस्याओं का सामान्य स्रोत ईटीएल नौकरियों के मध्य निर्भरता की बड़ी संख्या होती है। उदाहरण के लिए, कार्य B प्रारंभ नहीं हो सकता जबकि कार्य A समाप्त नहीं हुआ है। सामान्यतः ग्राफ़ पर सभी प्रक्रियाओं की कल्पना करके, और [[समानांतर कंप्यूटिंग]] का अधिकतम उपयोग करके ग्राफ़ को कम करने का प्रयास करके और निरंतर प्रसंस्करण की श्रृंखलाओं को यथासंभव लघु बनाकर उत्तम प्रदर्शन प्राप्त किया जा सकता है। फिर, बड़ी तालिकाओं और उनके सूचकांकों का विभाजन वास्तव में इनकी सहायता कर सकता है। | ||
इस प्रकर अन्य सामान्य समस्या तब होती है जब डेटा अनेक डेटाबेसों में विस्तारित होता है, और उन डेटाबेसों में क्रमिक रूप से प्रसंस्करण किया जाता है। कभी-कभी डेटाबेस प्रतिकृति को डेटाबेस के मध्य डेटा प्रतिरूप करने की विधि के रूप में सम्मिलित किया जा सकता है - यह पूर्ण प्रक्रिया को अधिक निष्क्रिय कर सकता है। सामान्य समाधान प्रसंस्करण ग्राफ़ को केवल तीन परतों तक कम करना है: | |||
*स्रोत | *स्रोत | ||
Line 89: | Line 88: | ||
* लक्ष्य | * लक्ष्य | ||
यह दृष्टिकोण प्रसंस्करण को समानता का अधिकतम लाभ उठाने की अनुमति देता है। उदाहरण के लिए, यदि आपको डेटा को दो डेटाबेस में लोड करने की आवश्यकता है, तब आप लोड को समानांतर में चला सकते हैं (पहले में लोड करने के | यह दृष्टिकोण प्रसंस्करण को समानता का अधिकतम लाभ उठाने की अनुमति देता है। उदाहरण के लिए, यदि आपको डेटा को दो डेटाबेस में लोड करने की आवश्यकता है, तब आप लोड को समानांतर में चला सकते हैं । यह (पहले में लोड करने के अतिरिक्त - और फिर दूसरे में प्रतिलिपि बनाने के अतिरिक्त) हैं। | ||
कभी-कभी प्रसंस्करण क्रमिक रूप से होना चाहिए। उदाहरण के लिए, मुख्य तथ्य तालिका के लिए पंक्तियों को प्राप्त करने और सत्यापित करने से पहले आयामी (संदर्भ) डेटा की आवश्यकता होती है| | कभी-कभी प्रसंस्करण क्रमिक रूप से होना चाहिए। उदाहरण के लिए, मुख्य तथ्य तालिका के लिए पंक्तियों को प्राप्त करने और सत्यापित करने से पहले आयामी (संदर्भ) डेटा की आवश्यकता होती है| | ||
==समानांतर प्रसंस्करण == | ==समानांतर प्रसंस्करण == | ||
ए {{as of|2009|alt=recent}}ईटीएल सॉफ्टवेयर में विकास समानांतर कंप्यूटिंग का कार्यान्वयन है। इसने बड़ी मात्रा में डेटा से निपटने के | '''ए {{as of|2009|alt=recent}}ईटीएल सॉफ्टवेयर''' में विकास समानांतर कंप्यूटिंग का कार्यान्वयन है। इसने बड़ी मात्रा में डेटा से निपटने के समय ईटीएल के समग्र प्रदर्शन को उत्तम बनाने के लिए अनेक तरीकों को सक्षम किया है। | ||
ईटीएल अनुप्रयोग तीन मुख्य प्रकार की समानता प्रयुक्त करते हैं: | ईटीएल अनुप्रयोग तीन मुख्य प्रकार की समानता प्रयुक्त करते हैं: | ||
Line 104: | Line 103: | ||
सभी तीन प्रकार की समानताएं सामान्यतः ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं। | सभी तीन प्रकार की समानताएं सामान्यतः ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं। | ||
यह सुनिश्चित करने में अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में भिन्न-भिन्न अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी | यह सुनिश्चित करने में अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में भिन्न-भिन्न अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी अनुसार, जहां गोदाम को स्रोत प्रणाली में या सामान्य खाता बही के साथ सामग्री का मिलान करना पड़ सकता है, वहां सिंक्रनाइज़ेशन और समाधान बिंदु स्थापित करना आवश्यक हो जाता है। | ||
== पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता == | == पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता == | ||
डेटा वेयरहाउसिंग प्रक्रियाएं सामान्यतः बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में | डेटा वेयरहाउसिंग प्रक्रियाएं सामान्यतः बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में सहायता मिलती है। | ||
सर्वोत्तम अभ्यास के लिए चौकियों की भी आवश्यकता होती है, जो ऐसी स्थिति होती है जब प्रक्रिया के कुछ चरण पूरे हो जाते हैं। चेकपॉइंट पर पहुंचने के पश्चात्, डिस्क पर सब कुछ लिखना, कुछ अस्थायी फ़ाइलों को साफ़ करना, स्थिति लॉग करना आदि अच्छा विचार है। | सर्वोत्तम अभ्यास के लिए चौकियों की भी आवश्यकता होती है, जो ऐसी स्थिति होती है जब प्रक्रिया के कुछ चरण पूरे हो जाते हैं। चेकपॉइंट पर पहुंचने के पश्चात्, डिस्क पर सब कुछ लिखना, कुछ अस्थायी फ़ाइलों को साफ़ करना, स्थिति लॉग करना आदि अच्छा विचार है। | ||
Line 114: | Line 113: | ||
== वर्चुअल ईटीएल == | == वर्चुअल ईटीएल == | ||
{{as of|2010}}, ईटीएल प्रोसेसिंग को आगे बढ़ाने के लिए [[डेटा वर्चुअलाइजेशन]] शुरू हो गया था। ईटीएल में डेटा वर्चुअलाइजेशन के अनुप्रयोग ने अनेक बिखरे हुए डेटा स्रोतों के लिए [[आंकड़ों का विस्थापन]] और एप्लिकेशन एकीकरण के सबसे सामान्य ईटीएल कार्यों को हल करने की अनुमति दी। वर्चुअल ईटीएल विभिन्न प्रकार के संबंधपरक, अर्ध-संरचित और [[असंरचित डेटा]] स्रोतों से एकत्रित वस्तुओं या संस्थाओं के अमूर्त प्रतिनिधित्व के साथ | {{as of|2010}}, ईटीएल प्रोसेसिंग को आगे बढ़ाने के लिए [[डेटा वर्चुअलाइजेशन]] शुरू हो गया था। ईटीएल में डेटा वर्चुअलाइजेशन के अनुप्रयोग ने अनेक बिखरे हुए डेटा स्रोतों के लिए [[आंकड़ों का विस्थापन]] और एप्लिकेशन एकीकरण के सबसे सामान्य ईटीएल कार्यों को हल करने की अनुमति दी। वर्चुअल ईटीएल विभिन्न प्रकार के संबंधपरक, अर्ध-संरचित और [[असंरचित डेटा]] स्रोतों से एकत्रित वस्तुओं या संस्थाओं के अमूर्त प्रतिनिधित्व के साथ कार्य करता है। ईटीएल उपकरण ऑब्जेक्ट-ओरिएंटेड मॉडलिंग का लाभ उठा सकते हैं और केंद्र में स्थित [[ हब और बात की |हब और बात की]] आर्किटेक्चर में निरंतर संग्रहीत संस्थाओं के प्रतिनिधित्व के साथ कार्य कर सकते हैं। ऐसा संग्रह जिसमें ईटीएल प्रसंस्करण के लिए डेटा स्रोतों से एकत्र की गई संस्थाओं या वस्तुओं का प्रतिनिधित्व होता है, मेटाडेटा रिपॉजिटरी कहलाता है और यह मेमोरी में रह सकता है<ref>[http://itnewscast.com/etl-architecture-and-business-models Virtual ETL]</ref> या निरंतर बनाया जाए. निरंतर मेटाडेटा रिपॉजिटरी का उपयोग करके, ईटीएल उपकरण बार की परियोजनाओं से निरंतर मिडलवेयर में संक्रमण कर सकते हैं, डेटा सामंजस्य और डेटा प्रोफाइलिंग निरंतर और लगभग वास्तविक समय में कर सकते हैं।<ref>{{Cite web|title=ईटीएल ख़त्म नहीं हुआ है. व्यावसायिक सफलता के लिए यह अभी भी महत्वपूर्ण है|url=https://dataintegrationinfo.com/etl-is-not-dead/|access-date=14 July 2020|website=Data Integration Info|date=8 June 2020}}</ref> | ||
== कुंजियों से निपटना == | == कुंजियों से निपटना == | ||
अद्वितीय कुंजियाँ सभी संबंधपरक डेटाबेस में महत्वपूर्ण भूमिका निभाती हैं, क्योंकि | अद्वितीय कुंजियाँ सभी संबंधपरक डेटाबेस में महत्वपूर्ण भूमिका निभाती हैं, क्योंकि वह सब कुछ साथ जोड़ती हैं। अद्वितीय कुंजी स्तंभ है जो किसी दी गई इकाई की पहचान करती है, जबकि [[विदेशी कुंजी]] किसी अन्य तालिका में स्तंभ है जो प्राथमिक कुंजी को संदर्भित करती है। कुंजियों में अनेक कॉलम सम्मिलित हो सकते हैं, इस स्थिति में वह समग्र कुंजियाँ हैं। अनेक स्थितियों में, प्राथमिक कुंजी स्वतः-निर्मित पूर्णांक है जिसका प्रतिनिधित्व की जा रही व्यावसायिक इकाई (कंप्यूटर विज्ञान) के लिए कोई अर्थ नहीं है, किन्तु यह केवल संबंधपरक डेटाबेस के उद्देश्य के लिए उपस्थित है - जिसे सामान्यतः सरोगेट कुंजी के रूप में जाना जाता है। | ||
चूँकि सामान्यतः वेयरहाउस में से अधिक डेटा स्रोत लोड होते हैं, इसलिए कुंजियाँ महत्वपूर्ण चिंता का विषय है जिसका समाधान किया जाना चाहिए। उदाहरण के लिए: ग्राहकों को अनेक डेटा स्रोतों में दर्शाया जा सकता है, स्रोत में प्राथमिक कुंजी के रूप में उनका सामाजिक सुरक्षा नंबर, दूसरे में उनका फ़ोन नंबर और तीसरे में सरोगेट होता है। फिर भी डेटा वेयरहाउस को सभी ग्राहक जानकारी को [[आयाम (डेटा वेयरहाउस)]] में समेकित करने की आवश्यकता हो सकती है। | चूँकि सामान्यतः वेयरहाउस में से अधिक डेटा स्रोत लोड होते हैं, इसलिए कुंजियाँ महत्वपूर्ण चिंता का विषय है जिसका समाधान किया जाना चाहिए। उदाहरण के लिए: ग्राहकों को अनेक डेटा स्रोतों में दर्शाया जा सकता है, स्रोत में प्राथमिक कुंजी के रूप में उनका सामाजिक सुरक्षा नंबर, दूसरे में उनका फ़ोन नंबर और तीसरे में सरोगेट होता है। फिर भी डेटा वेयरहाउस को सभी ग्राहक जानकारी को [[आयाम (डेटा वेयरहाउस)]] में समेकित करने की आवश्यकता हो सकती है। | ||
चिंता से निपटने के लिए अनुशंसित | चिंता से निपटने के लिए अनुशंसित विधियों में वेयरहाउस सरोगेट कुंजी जोड़ना सम्मिलित है, जिसका उपयोग तथ्य तालिका से विदेशी कुंजी के रूप में किया जाता है।<ref>Kimball, The Data Warehouse Lifecycle Toolkit, p 332</ref> | ||
सामान्यतः, किसी आयाम के स्रोत डेटा में अपडेट होते हैं, जो स्पष्ट रूप से डेटा वेयरहाउस में प्रतिबिंबित होना चाहिए। | सामान्यतः, किसी आयाम के स्रोत डेटा में अपडेट होते हैं, जो स्पष्ट रूप से डेटा वेयरहाउस में प्रतिबिंबित होना चाहिए। | ||
यदि रिपोर्टिंग के लिए स्रोत डेटा की प्राथमिक कुंजी आवश्यक है, तब आयाम में पहले से ही प्रत्येक पंक्ति के लिए जानकारी का वह भाग सम्मिलित है। यदि स्रोत डेटा सरोगेट कुंजी का उपयोग करता है, तब वेयरहाउस को इसका ट्रैक रखना होगा, भले ही इसका उपयोग क्वेरी या रिपोर्ट में कभी नहीं किया गया हो; यह लुकअप तालिका बनाकर किया जाता है जिसमें वेयरहाउस सरोगेट कुंजी और मूल कुंजी सम्मिलित होती है।<ref name="Rizzi, Data Warehouse Design p 291">Golfarelli/Rizzi, Data Warehouse Design, p 291</ref> इस | यदि रिपोर्टिंग के लिए स्रोत डेटा की प्राथमिक कुंजी आवश्यक है, तब आयाम में पहले से ही प्रत्येक पंक्ति के लिए जानकारी का वह भाग सम्मिलित है। यदि स्रोत डेटा सरोगेट कुंजी का उपयोग करता है, तब वेयरहाउस को इसका ट्रैक रखना होगा, भले ही इसका उपयोग क्वेरी या रिपोर्ट में कभी नहीं किया गया हो; यह लुकअप तालिका बनाकर किया जाता है जिसमें वेयरहाउस सरोगेट कुंजी और मूल कुंजी सम्मिलित होती है।<ref name="Rizzi, Data Warehouse Design p 291">Golfarelli/Rizzi, Data Warehouse Design, p 291</ref> इस अनुसार, विभिन्न स्रोत प्रणालियों से सरोगेट्स के साथ आयाम प्रदूषित नहीं होता है, जबकि अद्यतन करने की क्षमता संरक्षित रहती है। | ||
स्रोत डेटा की प्रकृति के आधार पर लुकअप तालिका का उपयोग विभिन्न तरीकों से किया जाता है। | स्रोत डेटा की प्रकृति के आधार पर लुकअप तालिका का उपयोग विभिन्न तरीकों से किया जाता है। | ||
Line 133: | Line 132: | ||
;प्रकार 2 | ;प्रकार 2 | ||
:स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी गई है; नई सरोगेट कुंजी सौंपी गई है; लुकअप तालिका में स्रोत कुंजी अब अद्वितीय नहीं है | :स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी गई है; नई सरोगेट कुंजी सौंपी गई है; लुकअप तालिका में स्रोत कुंजी अब अद्वितीय नहीं है | ||
;पूर्ण | ;पूर्ण अनुसार से लॉग इन | ||
:स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी जाती है, जबकि पिछली आयाम पंक्ति को यह दर्शाने के लिए अद्यतन किया जाता है कि यह अब सक्रिय नहीं है और निष्क्रिय होने का समय है। | :स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी जाती है, जबकि पिछली आयाम पंक्ति को यह दर्शाने के लिए अद्यतन किया जाता है कि यह अब सक्रिय नहीं है और निष्क्रिय होने का समय है। | ||
== उपकरण == | == उपकरण == | ||
एक स्थापित ईटीएल ढांचा कनेक्टिविटी और स्केलेबिलिटी में सुधार कर सकता है। अच्छा ईटीएल उपकरण अनेक भिन्न-भिन्न रिलेशनल डेटाबेस के साथ संचार करने और पूरे संगठन में उपयोग किए जाने वाले विभिन्न फ़ाइल स्वरूपों को पढ़ने में सक्षम होना चाहिए। ईटीएल टूल्स ने [[ एंटरप्राइज़ एप्लिकेशन एकीकरण |एंटरप्राइज़ एप्लिकेशन एकीकरण]] या यहां तक कि [[ एंटरप्राइज़ सेवा बस |एंटरप्राइज़ सेवा बस]] सिस्टम में माइग्रेट करना शुरू कर दिया है, जो अब डेटा के निष्कर्षण, परिवर्तन और लोडिंग से कहीं अधिक को कवर करता है। अनेक ईटीएल विक्रेताओं के | एक स्थापित ईटीएल ढांचा कनेक्टिविटी और स्केलेबिलिटी में सुधार कर सकता है। अच्छा ईटीएल उपकरण अनेक भिन्न-भिन्न रिलेशनल डेटाबेस के साथ संचार करने और पूरे संगठन में उपयोग किए जाने वाले विभिन्न फ़ाइल स्वरूपों को पढ़ने में सक्षम होना चाहिए। ईटीएल टूल्स ने [[ एंटरप्राइज़ एप्लिकेशन एकीकरण |एंटरप्राइज़ एप्लिकेशन एकीकरण]] या यहां तक कि [[ एंटरप्राइज़ सेवा बस |एंटरप्राइज़ सेवा बस]] सिस्टम में माइग्रेट करना शुरू कर दिया है, जो अब डेटा के निष्कर्षण, परिवर्तन और लोडिंग से कहीं अधिक को कवर करता है। अनेक ईटीएल विक्रेताओं के समीप अब डेटा प्रोफाइलिंग, डेटा गुणवत्ता और [[मेटाडेटा (कंप्यूटिंग)]] क्षमताएं हैं। ईटीएल टूल के लिए सामान्य उपयोग के स्थितियों में सीएसवी फ़ाइलों को रिलेशनल डेटाबेस द्वारा पढ़ने योग्य प्रारूप में परिवर्तित करना सम्मिलित है। ईटीएल टूल्स द्वारा लाखों रिकॉर्ड्स के विशिष्ट अनुवाद की सुविधा प्रदान की जाती है जो उपयोगकर्ताओं को सीएसवी-जैसे डेटा फ़ीड/फ़ाइलों को इनपुट करने और उन्हें यथासंभव कम कोड के साथ डेटाबेस में आयात करने में सक्षम बनाती है। | ||
ईटीएल उपकरण सामान्यतः पेशेवरों की विस्तृत श्रृंखला द्वारा उपयोग किए जाते हैं - कंप्यूटर विज्ञान के छात्रों से लेकर कंपनी खाता प्रबंधन के प्रभारी डेटाबेस आर्किटेक्ट तक बड़े डेटा समुच्चय को | ईटीएल उपकरण सामान्यतः पेशेवरों की विस्तृत श्रृंखला द्वारा उपयोग किए जाते हैं - कंप्यूटर विज्ञान के छात्रों से लेकर कंपनी खाता प्रबंधन के प्रभारी डेटाबेस आर्किटेक्ट तक बड़े डेटा समुच्चय को शीघ्रता से आयात करना चाहते हैं, ईटीएल उपकरण सुविधाजनक उपकरण बन गए हैं जिन पर अधिकतम प्रदर्शन प्राप्त करने के लिए भरोसा किया जा सकता है। . अधिकांश स्थितियों में ईटीएल टूल में जीयूआई होता है जो उपयोगकर्ताओं को फ़ाइलों को पार्स करने और डेटा प्रकारों को संशोधित करने के लिए बड़े प्रोग्राम लिखने के विपरीत, विज़ुअल डेटा मैपर का उपयोग करके डेटा को आसानी से परिवर्तित में सहायता करता है। | ||
जबकि ईटीएल उपकरण परंपरागत रूप से डेवलपर्स और आईटी कर्मचारियों के लिए रहे हैं, शोध फर्म गार्टनर ने लिखा है कि | जबकि ईटीएल उपकरण परंपरागत रूप से डेवलपर्स और आईटी कर्मचारियों के लिए रहे हैं, शोध फर्म गार्टनर ने लिखा है कि नवीन चलन व्यावसायिक उपयोगकर्ताओं को ये क्षमताएं प्रदान करना है जिससे वह आईटी कर्मचारियों के समीप जाने के अतिरिक्त जरूरत पड़ने पर स्वयं कनेक्शन और डेटा एकीकरण बना सकें।<ref>{{cite web|title=स्वयं सेवा डेटा एकीकरण का अनवरत उदय|url=http://blogs.gartner.com/andrew_white/2015/05/22/the-inexorable-rise-of-self-service-data-integration/|work=Gartner|date=22 May 2015|access-date=31 January 2016}}</ref> गार्टनर इन गैर-तकनीकी उपयोगकर्ताओं को सिटीजन इंटीग्रेटर्स के रूप में संदर्भित करता है।<ref>{{cite web|title=सिटीजन इंटीग्रेटर को अपनाएं|url=https://www.gartner.com/doc/2891817/embrace-citizen-integrator-approach-improve|work=Gartner|access-date=September 29, 2021}}</ref> | ||
Line 150: | Line 149: | ||
[[राल्फ किमबॉल]] और [[जो कैसर्टा]] की पुस्तक द डेटा वेयरहाउस ईटीएल टूलकिट, (विली, 2004), जिसका उपयोग डेटा वेयरहाउसिंग में ईटीएल प्रक्रियाओं को पढ़ाने वाले पाठ्यक्रमों के लिए पाठ्यपुस्तक के रूप में किया जाता है, ने इस मुद्दे को संबोधित किया है।<ref>{{Cite web|url=https://www.oreilly.com/library/view/the-data-warehouse/9780764567575/|title = The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data [Book]}}</ref> | [[राल्फ किमबॉल]] और [[जो कैसर्टा]] की पुस्तक द डेटा वेयरहाउस ईटीएल टूलकिट, (विली, 2004), जिसका उपयोग डेटा वेयरहाउसिंग में ईटीएल प्रक्रियाओं को पढ़ाने वाले पाठ्यक्रमों के लिए पाठ्यपुस्तक के रूप में किया जाता है, ने इस मुद्दे को संबोधित किया है।<ref>{{Cite web|url=https://www.oreilly.com/library/view/the-data-warehouse/9780764567575/|title = The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data [Book]}}</ref> | ||
[[Amazon Redshift]], [[Google BigQuery]], [[Microsoft Azure Synapse Analytics]] और [[स्नोफ्लेक कंप्यूटिंग]] जैसे क्लाउड-आधारित डेटा वेयरहाउस अत्यधिक स्केलेबल कंप्यूटिंग शक्ति प्रदान करने में सक्षम हैं। यह व्यवसायों को प्रीलोड ट्रांसफ़ॉर्मेशन से बचने और | [[Amazon Redshift]], [[Google BigQuery]], [[Microsoft Azure Synapse Analytics]] और [[स्नोफ्लेक कंप्यूटिंग]] जैसे क्लाउड-आधारित डेटा वेयरहाउस अत्यधिक स्केलेबल कंप्यूटिंग शक्ति प्रदान करने में सक्षम हैं। यह व्यवसायों को प्रीलोड ट्रांसफ़ॉर्मेशन से बचने और रॉ डेटा को अपने डेटा वेयरहाउस में दोहराने की सुविधा देता है, जहां यह SQL का उपयोग करके उन्हें आवश्यकतानुसार रूपांतरित कर सकता है। | ||
ईएलटी का उपयोग करने के पश्चात्, डेटा को आगे संसाधित किया जा सकता है और डेटा मार्ट में संग्रहीत किया जा सकता है।<ref>Amazon Web Services, Data Warehousing on AWS, 2016, p 10</ref> | ईएलटी का उपयोग करने के पश्चात्, डेटा को आगे संसाधित किया जा सकता है और डेटा मार्ट में संग्रहीत किया जा सकता है।<ref>Amazon Web Services, Data Warehousing on AWS, 2016, p 10</ref> | ||
प्रत्येक दृष्टिकोण के अपने पक्ष और विपक्ष हैं।<ref>{{cite web|title=ETL vs ELT: We Posit, You Judge|date=30 August 2013|url=https://www.iri.com/blog/data-transformation2/etl-vs-elt-we-posit-you-judge/}}</ref> अधिकांश डेटा एकीकरण उपकरण ईटीएल की ओर झुकते हैं, जबकि ईएलटी डेटाबेस और डेटा वेयरहाउस उपकरणों में लोकप्रिय है। इसी | प्रत्येक दृष्टिकोण के अपने पक्ष और विपक्ष हैं।<ref>{{cite web|title=ETL vs ELT: We Posit, You Judge|date=30 August 2013|url=https://www.iri.com/blog/data-transformation2/etl-vs-elt-we-posit-you-judge/}}</ref> अधिकांश डेटा एकीकरण उपकरण ईटीएल की ओर झुकते हैं, जबकि ईएलटी डेटाबेस और डेटा वेयरहाउस उपकरणों में लोकप्रिय है। इसी अनुसार, टीईएल (ट्रांसफॉर्म, एक्सट्रैक्ट, लोड) करना संभव है, जहां डेटा को पहले ब्लॉकचेन पर रूपांतरित किया जाता है (डेटा में परिवर्तन रिकॉर्ड करने का विधि, उदाहरण के लिए, टोकन बर्निंग) निकालने और दूसरे डेटा स्टोर में लोड करने से पहले।<ref>{{cite book |last1=Bandara |first1=H. M. N. Dilum |last2=Xu |first2=Xiwei |last3=Weber |first3=Ingo |title=Proceedings of the European Conference on Pattern Languages of Programs 2020 |chapter=Patterns for Blockchain Data Migration |year=2020 |pages=1–19 |doi=10.1145/3424771.3424796 |arxiv=1906.00239|isbn=9781450377690 |s2cid=219956181 }}</ref> | ||
== यह भी देखें == | == यह भी देखें == | ||
* | *[[डेटा एकीकरण|आर्किटेक्चर पैटर्न]] (ईए रिफ्रेंस आर्किटेक्चर) | ||
* | *[[हार्टमैन पाइपलाइन|सीएमएस पाइपलाइन]] | ||
*डेटा | *[[डेटा एकीकरण|क्रिएट, रीड, अपडेट और डिलीट]] (सीआरयूडी) | ||
*[[डेटा एकीकरण]] | *[[डेटा एकीकरण|डेटा क्लीन]] | ||
*[[डेटा एकीकरण|डेटा इंटीग्रेसन]] | |||
*[[डेटा | *[[मेटाडेटा खोज|डेटा मार्ट]] | ||
*[[डेटा जाल]], डोमेन- | *[[डेटा जाल|डेटा मेश]],डोमेन-ओरिएंटेड डेटा आर्किटेक्चर | ||
* | *[[डेटा मध्यस्थता|डेटा माइग्रेशन]] | ||
*[[इलेक्ट्रॉनिक डाटा इंटरचेंज | *[[इलेक्ट्रॉनिक डाटा इंटरचेंज|डेटा ट्रांसफॉर्मेशन (कंप्यूटिंग)]] | ||
*[[ | *[[इलेक्ट्रॉनिक डाटा इंटरचेंज]] (ईडीआई) | ||
*[[ | *[[उद्यम स्थापत्य|एंटरप्राइज आर्किटेक्चर]] | ||
*[[ | *[[उद्यम स्थापत्य|लीगल इलेक्ट्रॉनिक डेटा एक्सचेंज स्टैण्डर्ड]] (एलईडीईएस) | ||
*[[मेटाडेटा खोज|मेटाडेटा डिस्कवरी]] | |||
*[[मेटाडेटा खोज]] | *[[व्यय और लागत वसूली प्रणाली (ईसीआरएस)|ऑनलाइन एनालिटिकल प्रोसेसिंग]] (ओएलएपी) | ||
* | *[[ऑनलाइन लेनदेन प्रसंस्करण|ऑनलाइन ट्रांसेक्शन प्रोसेसिंग]] (ओएलटीपी) | ||
*[[ऑनलाइन लेनदेन प्रसंस्करण]] (ओएलटीपी) | |||
*[[स्थानिक ईटीएल]] | *[[स्थानिक ईटीएल]] | ||
Revision as of 22:41, 12 August 2023
Data transformation |
---|
Concepts |
Transformation languages |
Techniques and transforms |
Applications |
Related |
कम्प्यूटिंग में, एक्सट्रेक्ट, ट्रांसफॉर्म, लोड (ईटीएल) तीन चरण की प्रक्रिया है जहां डेटा को निकाला जाता है, और रूपांतरित किया जाता है | और (क्लीनड, सैनीटाइजड, स्क्राबेड किया जाता है) और आउटपुट डेटा कंटेनर में लोड किया जाता है। डेटा को इस प्रकार और अधिक स्रोतों से एकत्रित किया जा सकता है और इसे इससे अधिक गंतव्यों पर आउटपुट भी किया जा सकता है। ईटीएल प्रसंस्करण में सामान्यतः सॉफ़्टवेयर एप्लिकेशन का उपयोग करके निष्पादित किया जाता है किन्तु इसे सिस्टम ऑपरेटरों द्वारा मैन्युअल रूप से भी किया जा सकता है। ईटीएल सॉफ्टवेयर सामान्यतः पूर्ण प्रक्रिया को स्वचालित करता है और इसे मैन्युअल रूप से या इसे पुनरावर्ती शेड्यूल पर या तब एकल नौकरियों के रूप में या नौकरियों के बैच में एकत्रित किया जा सकता है।
![Conventional ETL diagram](https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Conventional_ETL_Diagram.jpg/300px-Conventional_ETL_Diagram.jpg)
यह उचित रूप से डिज़ाइन किया गया ईटीएल सिस्टम स्रोत सिस्टम से डेटा निकालता है और इस प्रकार डेटा टाइप और डेटा वैधता मानकों को प्रयुक्त करता है और यह सुनिश्चित करता है कि यह आउटपुट की आवश्यकताओं के लिए संरचनात्मक रूप से अनुरूप है। कुछ ईटीएल सिस्टम प्रस्तुति-तैयार प्रारूप में भी डेटा वितरित कर सकते हैं जिससे एप्लिकेशन डेवलपर्स एप्लिकेशन बना सकें और अंतिम उपयोगकर्ता निर्णय ले सकते हैं। [1]
ईटीएल प्रक्रिया का उपयोग प्रायः डेटा वेयरहाउस में किया जाता है।[2] ईटीएल सिस्टम सामान्यतः अनेक अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो सामान्यतः विभिन्न विक्रेताओं द्वारा विकसित और समर्थित होते हैं | और यह भिन्न कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले भिन्न-भिन्न सिस्टम को प्रायः विभिन्न हितधारकों स्टेकहोल्डर्स (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, निवेश लेखांकन प्रणाली पेरोल, क्रय और विक्रय से डेटा को जोड़ सकती है।
निकालें
डेटा निष्कर्षण में सजातीय या विषम स्रोतों से डेटा निकालना सम्मिलित है | डेटा परिवर्तन डेटा को साफ़ करके और उसे इन्क्वायरी और विश्लेषण के प्रयोजनों के लिए उचित संग्रहण प्रारूप/संरचना में परिवर्तित करके संसाधित करता है | अंत में, डेटा लोडिंग अंतिम लक्ष्य डेटाबेस जैसे परिचालन डेटा संग्रह, डेटा मार्ट, डेटा लेक या डेटा वेयरहाउस में डेटा के सम्मिलन का वर्णन करता है।[3][4]
ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना सम्मिलित है। अनेक स्थितियों में, यह ईटीएल के सबसे महत्वपूर्ण रूप का प्रतिनिधित्व करता है, क्योंकि डेटा को सही प्रकार से निकालना उसके पश्चात् की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक भिन्न सिस्टम भिन्न डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस वर्चुअल स्टोरेज एक्सेस मैथेड (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम) हैं, या यहां तक कि वेब क्रॉलर और डेटा स्क्रैपिंग जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी होते हैं। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन की और विधि है जब किसी मध्यवर्ती डेटा संग्रहण की आवश्यकता नहीं होती है।
निष्कर्षण के आंतरिक भाग में यह पुष्टि करने के लिए डेटा सत्यापन सम्मिलित है कि स्रोतों से खींचे गए डेटा में किसी दिए गए डोमेन में सही/अपेक्षित मान हैं (जैसे पैटर्न/डिफ़ॉल्ट या मानों की सूची) हैं। यदि डेटा सत्यापन नियमों में विफल रहता है, तब इसे पूर्ण अनुसार या आंशिक रूप से अस्वीकार कर दिया जाता है। अस्वीकृत डेटा को आदर्श रूप से आगे के विश्लेषण के लिए त्रुटि रिकॉर्ड की पहचान करने और सुधारने या डेटा त्रुटियाँ करने के लिए स्रोत प्रणाली में वापस रिपोर्ट किया जाता है।
परिवर्तन
डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तत्पर करने के लिए निकाले गए डेटा पर नियमों या कार्यों की श्रृंखला प्रयुक्त की जाती है।
परिवर्तन का महत्वपूर्ण कार्य डेटा क्लीन है, जिसका उद्देश्य केवल उचित डेटा को लक्ष्य तक पहुंचाना है। जब विभिन्न प्रणालियाँ परस्पर क्रिया करती हैं तब यह चुनौती संबंधित प्रणालियों के इंटरफेसिंग और संचार में होती है। जो चरित्र समुच्चय प्रणाली में उपलब्ध हो सकते हैं वह अन्य में उपलब्ध नहीं हो सकते हैं।
अन्य स्थितियों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से इसमें अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है
- लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए शून्य (एसक्यूएल) कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तब चयन में केवल रोल नंबर और वेतन सम्मिलित हो सकता है। यह, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन उपस्थित नहीं है | उनका (वेतन = शून्य) हैं।
- कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, किन्तु वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है)
- फ्री-फॉर्म मानों को एन्कोड करना: (उदाहरण के लिए, मेल को M में मैप करना हैं)
- नवीन परिकलित मान प्राप्त करना: (उदाहरण के लिए, क्रय_राशि = मात्रा * इकाई_मान हैं)
- खोज प्रदर्शन को उत्तम बनाने के लिए कॉलम की सूची के आधार पर डेटा को क्रमबद्ध करना हैं
- जुड़ें (संबंधपरक बीजगणित) या अनेक स्रोतों (उदाहरण के लिए, लुकअप, मर्ज) से डेटा को जोड़ना और डेटा लिंकेज को रिकॉर्ड करना हैं
- एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की अनेक पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल क्रय,और प्रत्येक क्षेत्र के लिए, आदि हैं)
- सरोगेट की उत्पन्न करना सरोगेट-कुंजी मान हैं
- ट्रांसपोज़िंग या पिवोटिंग (एकाधिक कॉलम को अनेक पंक्तियों में परिवर्तित या इसके विपरीत करना हैं)
- इसमें कॉलम को अनेक कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से भिन्न किए गए मानों को परिवर्तित करना हैं अल्पविराम से भिन्न की गई सूची, कॉलम में स्ट्रिंग के रूप में निर्दिष्ट, भिन्न-भिन्न कॉलम में भिन्न-भिन्न मानों में होता हैं)
- दोहराए जाने वाले कॉलमों को भिन्न-भिन्न करना हैं
- तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और उसको मान्य करना हैं
- किसी भी प्रकार का डेटा सत्यापन प्रयुक्त करना; असफल सत्यापन के परिणामस्वरूप डेटा की पूर्ण अस्वीकृति, आंशिक अस्वीकृति, या बिल्कुल भी अस्वीकृति नहीं हो सकती है, और इस प्रकार नियम डिजाइन और अपवाद हैंडलिंग के आधार पर कोई भी, कुछ भी या सभी डेटा अगले चरण में नहीं सौंपा जाता है |उपरोक्त अनेक परिवर्तनों के परिणामस्वरूप अपवाद हो सकते हैं, उदाहरण के लिए, जब कोई कोड अनुवाद निकाले गए डेटा में किसी अज्ञात कोड को पार्स करता है
लोड
लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।[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]
यह भी देखें
- आर्किटेक्चर पैटर्न (ईए रिफ्रेंस आर्किटेक्चर)
- सीएमएस पाइपलाइन
- क्रिएट, रीड, अपडेट और डिलीट (सीआरयूडी)
- डेटा क्लीन
- डेटा इंटीग्रेसन
- डेटा मार्ट
- डेटा मेश,डोमेन-ओरिएंटेड डेटा आर्किटेक्चर
- डेटा माइग्रेशन
- डेटा ट्रांसफॉर्मेशन (कंप्यूटिंग)
- इलेक्ट्रॉनिक डाटा इंटरचेंज (ईडीआई)
- एंटरप्राइज आर्किटेक्चर
- लीगल इलेक्ट्रॉनिक डेटा एक्सचेंज स्टैण्डर्ड (एलईडीईएस)
- मेटाडेटा डिस्कवरी
- ऑनलाइन एनालिटिकल प्रोसेसिंग (ओएलएपी)
- ऑनलाइन ट्रांसेक्शन प्रोसेसिंग (ओएलटीपी)
- स्थानिक ईटीएल
संदर्भ
- ↑ 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.