एक्सट्रेक्ट, ट्रांसफॉर्म, लोड: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Procedure in computing}} {{Data transformation}} कम्प्यूटिंग में, एक्सट्रेक्ट, ट्रांस...")
 
No edit summary
Line 1: Line 1:
{{Short description|Procedure in computing}}
{{Short description|Procedure in computing}}
{{Data transformation}}
{{Data transformation}}
[[ कम्प्यूटिंग ]] में, एक्सट्रेक्ट, ट्रांसफॉर्म, लोड (ईटीएल) एक तीन चरण की प्रक्रिया है जहां डेटा को निकाला जाता है, रूपांतरित किया जाता है (साफ किया जाता है, साफ़ किया जाता है, साफ़ किया जाता है) और आउटपुट डेटा कंटेनर में लोड किया जाता है। डेटा को एक या अधिक स्रोतों से एकत्रित किया जा सकता है और इसे एक या अधिक गंतव्यों पर आउटपुट भी किया जा सकता है। ईटीएल प्रसंस्करण आमतौर पर [[सॉफ़्टवेयर एप्लिकेशन]] का उपयोग करके निष्पादित किया जाता है लेकिन इसे [[ sysop ]]्स द्वारा मैन्युअल रूप से भी किया जा सकता है। ईटीएल सॉफ्टवेयर आम तौर पर पूरी प्रक्रिया को स्वचालित करता है और इसे मैन्युअल रूप से या पुनरावर्ती शेड्यूल पर या तो एकल नौकरियों के रूप में या नौकरियों के बैच में एकत्रित किया जा सकता है।
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में, एक्सट्रेक्ट, ट्रांसफॉर्म, लोड (ईटीएल) तीन चरण की प्रक्रिया है जहां डेटा को निकाला जाता है, रूपांतरित किया जाता है (साफ किया जाता है, साफ़ किया जाता है, साफ़ किया जाता है) और आउटपुट डेटा कंटेनर में लोड किया जाता है। डेटा को या अधिक स्रोतों से एकत्रित किया जा सकता है और इसे या अधिक गंतव्यों पर आउटपुट भी किया जा सकता है। ईटीएल प्रसंस्करण आमतौर पर [[सॉफ़्टवेयर एप्लिकेशन]] का उपयोग करके निष्पादित किया जाता है लेकिन इसे [[ sysop |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>
ETL प्रक्रिया का उपयोग अक्सर [[डेटा वेयरहाउस]] में किया जाता है।<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> ईटीएल सिस्टम आमतौर पर कई अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो आमतौर पर विभिन्न [[विक्रेता]]ओं द्वारा विकसित और समर्थित होते हैं या अलग कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले अलग-अलग सिस्टम को अक्सर विभिन्न हितधारकों (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, एक लागत लेखांकन प्रणाली पेरोल, बिक्री और खरीद से डेटा को जोड़ सकती है।
ETL प्रक्रिया का उपयोग अक्सर [[डेटा वेयरहाउस]] में किया जाता है।<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 web|url=https://www.edq.com/blog/what-is-etl-extract-transform-load/|title=What is ETL? (Extract, Transform, Load) {{!}} Experian|last=Zhao|first=Shirley|date=2017-10-20|website=Experian Data Quality|language=en-US|access-date=2018-12-12}}</ref><ref>{{Cite web|url=https://www.theregister.co.uk/2018/06/04/data_integration_is_hard/|title=Extract, transform, load? More like extremely tough to load, amirite?|first=Trevor|last=Pott|date=4 June 2018|website=[[The Register]]|language=en|access-date=2018-12-12}}</ref>
डेटा निष्कर्षण में सजातीय या विषम स्रोतों से [[डेटा निकालना]] शामिल है; [[डेटा परिवर्तन]] डेटा को साफ़ करके और उसे पूछताछ और विश्लेषण के प्रयोजनों के लिए उचित भंडारण प्रारूप/संरचना में परिवर्तित करके संसाधित करता है; अंत में, डेटा लोडिंग अंतिम लक्ष्य डेटाबेस जैसे [[परिचालन डेटा भंडार]], [[डेटा मार्ट]], [[डेटा लेक]] या डेटा वेयरहाउस में डेटा के सम्मिलन का वर्णन करता है।<ref>{{Cite web|url=https://www.edq.com/blog/what-is-etl-extract-transform-load/|title=What is ETL? (Extract, Transform, Load) {{!}} Experian|last=Zhao|first=Shirley|date=2017-10-20|website=Experian Data Quality|language=en-US|access-date=2018-12-12}}</ref><ref>{{Cite web|url=https://www.theregister.co.uk/2018/06/04/data_integration_is_hard/|title=Extract, transform, load? More like extremely tough to load, amirite?|first=Trevor|last=Pott|date=4 June 2018|website=[[The Register]]|language=en|access-date=2018-12-12}}</ref>
ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना शामिल है। कई मामलों में, यह ईटीएल के सबसे महत्वपूर्ण पहलू का प्रतिनिधित्व करता है, क्योंकि डेटा को सही ढंग से निकालना बाद की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक अलग सिस्टम एक अलग डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस[[वर्चुअल स्टोरेज एक्सेस विधि]] (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम), या यहां तक ​​कि [[ वेब मकड़ी ]]िंग या [[ स्क्रीन scraping ]] जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन का एक और तरीका है जब किसी मध्यवर्ती डेटा भंडारण की आवश्यकता नहीं होती है।
ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना शामिल है। कई मामलों में, यह ईटीएल के सबसे महत्वपूर्ण पहलू का प्रतिनिधित्व करता है, क्योंकि डेटा को सही ढंग से निकालना बाद की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक अलग सिस्टम अलग डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेस[[वर्चुअल स्टोरेज एक्सेस विधि]] (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम), या यहां तक ​​कि [[ वेब मकड़ी |वेब मकड़ी]] िंग या [[ स्क्रीन scraping |स्क्रीन scraping]] जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन का और तरीका है जब किसी मध्यवर्ती डेटा भंडारण की आवश्यकता नहीं होती है।


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


==परिवर्तन ==
==परिवर्तन ==
डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तैयार करने के लिए निकाले गए डेटा पर नियमों या कार्यों की एक श्रृंखला लागू की जाती है।
डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तैयार करने के लिए निकाले गए डेटा पर नियमों या कार्यों की श्रृंखला लागू की जाती है।


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


अन्य मामलों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से एक या अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है:
अन्य मामलों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से या अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है:
{{More citations needed|date=May 2019}}
* लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए [[शून्य (एसक्यूएल)]] कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तो चयन में केवल रोल नंबर और वेतन शामिल हो सकता है। या, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन मौजूद नहीं है (वेतन = शून्य)।
* लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए [[शून्य (एसक्यूएल)]] कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तो चयन में केवल रोल नंबर और वेतन शामिल हो सकता है। या, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन मौजूद नहीं है (वेतन = शून्य)।
* कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, लेकिन वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है)
* कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, लेकिन वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है)
Line 26: Line 25:
* एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की कई पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल बिक्री, और प्रत्येक क्षेत्र के लिए, आदि)
* एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की कई पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल बिक्री, और प्रत्येक क्षेत्र के लिए, आदि)
* [[सरोगेट कुंजी]] उत्पन्न करना|सरोगेट-कुंजी मान
* [[सरोगेट कुंजी]] उत्पन्न करना|सरोगेट-कुंजी मान
* [[ खिसकाना ]] या [[ पिवट तालिका ]] (एकाधिक कॉलम को कई पंक्तियों में बदलना या इसके विपरीत)
* [[ खिसकाना | खिसकाना]] या [[ पिवट तालिका |पिवट तालिका]] (एकाधिक कॉलम को कई पंक्तियों में बदलना या इसके विपरीत)
* एक कॉलम को कई कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से अलग किए गए मानों को परिवर्तित करना | अल्पविराम से अलग की गई सूची, एक कॉलम में एक स्ट्रिंग के रूप में निर्दिष्ट, अलग-अलग कॉलम में अलग-अलग मानों में)
* एक कॉलम को कई कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से अलग किए गए मानों को परिवर्तित करना | अल्पविराम से अलग की गई सूची, कॉलम में स्ट्रिंग के रूप में निर्दिष्ट, अलग-अलग कॉलम में अलग-अलग मानों में)
* दोहराए जाने वाले कॉलमों को अलग-अलग करना
* दोहराए जाने वाले कॉलमों को अलग-अलग करना
* तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और मान्य करना
* तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और मान्य करना
Line 33: Line 32:


== लोड ==
== लोड ==
लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो एक साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।<ref>{{Cite web|url=https://www.dataintegration.info/etl|title=डेटा एकीकरण जानकारी|website=डेटा एकीकरण जानकारी}}</ref> संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस मौजूदा जानकारी को संचयी जानकारी से अधिलेखित कर सकते हैं; निकाले गए डेटा को अपडेट करना अक्सर दैनिक, साप्ताहिक या मासिक आधार पर किया जाता है। अन्य डेटा वेयरहाउस (या यहां तक ​​कि उसी डेटा वेयरहाउस के अन्य हिस्से) नियमित अंतराल पर ऐतिहासिक रूप में नया डेटा जोड़ सकते हैं - उदाहरण के लिए, प्रति घंटा। इसे समझने के लिए, एक डेटा वेयरहाउस पर विचार करें जो पिछले वर्ष के बिक्री रिकॉर्ड को बनाए रखने के लिए आवश्यक है। यह डेटा वेयरहाउस एक वर्ष से अधिक पुराने किसी भी डेटा को नए डेटा के साथ अधिलेखित कर देता है। हालाँकि, किसी भी एक वर्ष की विंडो के लिए डेटा की प्रविष्टि ऐतिहासिक तरीके से की जाती है। बदलने या जोड़ने का समय और दायरा रणनीतिक डिज़ाइन विकल्प हैं जो उपलब्ध समय और व्यावसायिक आवश्यकताओं पर निर्भर करते हैं। <!-- is this part of "load"? -->अधिक जटिल सिस्टम डेटा वेयरहाउस में लोड किए गए डेटा में सभी परिवर्तनों का इतिहास और [[ लेखापरीक्षा ]] बनाए रख सकते हैं।
लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।<ref>{{Cite web|url=https://www.dataintegration.info/etl|title=डेटा एकीकरण जानकारी|website=डेटा एकीकरण जानकारी}}</ref> संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस मौजूदा जानकारी को संचयी जानकारी से अधिलेखित कर सकते हैं; निकाले गए डेटा को अपडेट करना अक्सर दैनिक, साप्ताहिक या मासिक आधार पर किया जाता है। अन्य डेटा वेयरहाउस (या यहां तक ​​कि उसी डेटा वेयरहाउस के अन्य हिस्से) नियमित अंतराल पर ऐतिहासिक रूप में नया डेटा जोड़ सकते हैं - उदाहरण के लिए, प्रति घंटा। इसे समझने के लिए, डेटा वेयरहाउस पर विचार करें जो पिछले वर्ष के बिक्री रिकॉर्ड को बनाए रखने के लिए आवश्यक है। यह डेटा वेयरहाउस वर्ष से अधिक पुराने किसी भी डेटा को नए डेटा के साथ अधिलेखित कर देता है। हालाँकि, किसी भी वर्ष की विंडो के लिए डेटा की प्रविष्टि ऐतिहासिक तरीके से की जाती है। बदलने या जोड़ने का समय और दायरा रणनीतिक डिज़ाइन विकल्प हैं जो उपलब्ध समय और व्यावसायिक आवश्यकताओं पर निर्भर करते हैं। अधिक जटिल सिस्टम डेटा वेयरहाउस में लोड किए गए डेटा में सभी परिवर्तनों का इतिहास और [[ लेखापरीक्षा |लेखापरीक्षा]] बनाए रख सकते हैं।
जैसे ही लोड चरण एक डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - लागू होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड), जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। ईटीएल प्रक्रिया का.
जैसे ही लोड चरण डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - लागू होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड), जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। ईटीएल प्रक्रिया का.


* उदाहरण के लिए, एक वित्तीय संस्थान के पास एक ग्राहक के बारे में कई विभागों में जानकारी हो सकती है और प्रत्येक विभाग में उस ग्राहक की जानकारी अलग-अलग तरीके से सूचीबद्ध हो सकती है। सदस्यता विभाग ग्राहक को नाम के आधार पर सूचीबद्ध कर सकता है, जबकि लेखा विभाग ग्राहक को संख्या के आधार पर सूचीबद्ध कर सकता है। ईटीएल इन सभी डेटा तत्वों को बंडल कर सकता है और उन्हें एक समान प्रस्तुति में समेकित कर सकता है, जैसे कि डेटाबेस या डेटा वेयरहाउस में संग्रहीत करना।
* उदाहरण के लिए, वित्तीय संस्थान के पास ग्राहक के बारे में कई विभागों में जानकारी हो सकती है और प्रत्येक विभाग में उस ग्राहक की जानकारी अलग-अलग तरीके से सूचीबद्ध हो सकती है। सदस्यता विभाग ग्राहक को नाम के आधार पर सूचीबद्ध कर सकता है, जबकि लेखा विभाग ग्राहक को संख्या के आधार पर सूचीबद्ध कर सकता है। ईटीएल इन सभी डेटा तत्वों को बंडल कर सकता है और उन्हें समान प्रस्तुति में समेकित कर सकता है, जैसे कि डेटाबेस या डेटा वेयरहाउस में संग्रहीत करना।
* कंपनियां ईटीएल का उपयोग करने का दूसरा तरीका जानकारी को किसी अन्य एप्लिकेशन में स्थायी रूप से स्थानांतरित करना है। उदाहरण के लिए, नया एप्लिकेशन किसी अन्य डेटाबेस विक्रेता और संभवतः एक बहुत अलग डेटाबेस स्कीमा का उपयोग कर सकता है। ईटीएल का उपयोग डेटा को नए एप्लिकेशन के उपयोग के लिए उपयुक्त प्रारूप में बदलने के लिए किया जा सकता है।
* कंपनियां ईटीएल का उपयोग करने का दूसरा तरीका जानकारी को किसी अन्य एप्लिकेशन में स्थायी रूप से स्थानांतरित करना है। उदाहरण के लिए, नया एप्लिकेशन किसी अन्य डेटाबेस विक्रेता और संभवतः बहुत अलग डेटाबेस स्कीमा का उपयोग कर सकता है। ईटीएल का उपयोग डेटा को नए एप्लिकेशन के उपयोग के लिए उपयुक्त प्रारूप में बदलने के लिए किया जा सकता है।
* एक उदाहरण [[व्यय और लागत वसूली प्रणाली (ईसीआरएस)]] होगा जैसे कि [[ लेखाकर्म ]], [[कंसल्टेंसी]] और [[कानून फर्म]] द्वारा उपयोग किया जाता है। डेटा आम तौर पर [[कानून अभ्यास प्रबंधन सॉफ्टवेयर]] में समाप्त होता है, हालांकि कुछ व्यवसाय मानव संसाधन (कार्मिक विभाग) को कर्मचारी उत्पादकता रिपोर्ट या सुविधा प्रबंधन को उपकरण उपयोग रिपोर्ट के लिए कच्चे डेटा का उपयोग भी कर सकते हैं।
* एक उदाहरण [[व्यय और लागत वसूली प्रणाली (ईसीआरएस)]] होगा जैसे कि [[ लेखाकर्म |लेखाकर्म]] , [[कंसल्टेंसी]] और [[कानून फर्म]] द्वारा उपयोग किया जाता है। डेटा आम तौर पर [[कानून अभ्यास प्रबंधन सॉफ्टवेयर]] में समाप्त होता है, हालांकि कुछ व्यवसाय मानव संसाधन (कार्मिक विभाग) को कर्मचारी उत्पादकता रिपोर्ट या सुविधा प्रबंधन को उपकरण उपयोग रिपोर्ट के लिए कच्चे डेटा का उपयोग भी कर सकते हैं।


== वास्तविक जीवन ईटीएल चक्र ==
== वास्तविक जीवन ईटीएल चक्र ==
Line 49: Line 48:
# ट्रांसफॉर्म करें (डेटा सफाई, व्यावसायिक नियम लागू करें, डेटा अखंडता की जांच करें, एग्रीगेट (डेटा वेयरहाउस) बनाएं या अलग करें)
# ट्रांसफॉर्म करें (डेटा सफाई, व्यावसायिक नियम लागू करें, डेटा अखंडता की जांच करें, एग्रीगेट (डेटा वेयरहाउस) बनाएं या अलग करें)
# स्टेज (यदि उपयोग किया जाता है तो [[स्टेजिंग (डेटा)]] तालिकाओं में लोड करें)
# स्टेज (यदि उपयोग किया जाता है तो [[स्टेजिंग (डेटा)]] तालिकाओं में लोड करें)
# [[ परीक्षण विवरण ]] (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन पर। साथ ही, विफलता के मामले में, निदान/मरम्मत में मदद करती है)
# [[ परीक्षण विवरण | परीक्षण विवरण]] (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन पर। साथ ही, विफलता के मामले में, निदान/मरम्मत में मदद करती है)
# प्रकाशित करें (तालिकाओं को लक्षित करने के लिए)
# प्रकाशित करें (तालिकाओं को लक्षित करने के लिए)
# [[संग्रह]]ित किया जा रहा है
# [[संग्रह]]ित किया जा रहा है
Line 58: Line 57:
किसी परिचालन प्रणाली में डेटा मान या डेटा गुणवत्ता की सीमा सत्यापन और परिवर्तन नियमों के निर्दिष्ट होने पर डिजाइनरों की अपेक्षाओं से अधिक हो सकती है। डेटा विश्लेषण के दौरान किसी स्रोत की [[डेटा प्रोफाइलिंग]] उन डेटा स्थितियों की पहचान कर सकती है जिन्हें परिवर्तन नियम विनिर्देशों द्वारा प्रबंधित किया जाना चाहिए, जिससे ईटीएल प्रक्रिया में स्पष्ट रूप से और अंतर्निहित रूप से लागू सत्यापन नियमों में संशोधन हो सके।
किसी परिचालन प्रणाली में डेटा मान या डेटा गुणवत्ता की सीमा सत्यापन और परिवर्तन नियमों के निर्दिष्ट होने पर डिजाइनरों की अपेक्षाओं से अधिक हो सकती है। डेटा विश्लेषण के दौरान किसी स्रोत की [[डेटा प्रोफाइलिंग]] उन डेटा स्थितियों की पहचान कर सकती है जिन्हें परिवर्तन नियम विनिर्देशों द्वारा प्रबंधित किया जाना चाहिए, जिससे ईटीएल प्रक्रिया में स्पष्ट रूप से और अंतर्निहित रूप से लागू सत्यापन नियमों में संशोधन हो सके।


डेटा वेयरहाउस आमतौर पर विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से इकट्ठे किए जाते हैं। इस प्रकार, ईटीएल सभी डेटा को एक मानक, सजातीय वातावरण में एक साथ लाने की एक महत्वपूर्ण प्रक्रिया है।
डेटा वेयरहाउस आमतौर पर विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से इकट्ठे किए जाते हैं। इस प्रकार, ईटीएल सभी डेटा को मानक, सजातीय वातावरण में साथ लाने की महत्वपूर्ण प्रक्रिया है।


डिज़ाइन विश्लेषण<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> इसके उपयोग के पूरे जीवनकाल में ईटीएल प्रणाली की मापनीयता स्थापित की जानी चाहिए - जिसमें सेवा स्तर के समझौतों के भीतर संसाधित किए जाने वाले डेटा की मात्रा को समझना भी शामिल है। स्रोत सिस्टम से निकालने के लिए उपलब्ध समय बदल सकता है, जिसका अर्थ यह हो सकता है कि समान मात्रा में डेटा को कम समय में संसाधित करना पड़ सकता है। कुछ ईटीएल प्रणालियों को दसियों टेराबाइट्स डेटा के साथ डेटा वेयरहाउस को अपडेट करने के लिए टेराबाइट्स डेटा को संसाधित करने के लिए स्केल करना पड़ता है। डेटा की बढ़ती मात्रा के लिए ऐसे डिज़ाइन की आवश्यकता हो सकती है जो दैनिक बैच प्रसंस्करण से लेकर कई-दिवसीय माइक्रो बैच तक संदेश कतारों के साथ एकीकरण या निरंतर परिवर्तन और अद्यतन के लिए वास्तविक समय परिवर्तन-डेटा-कैप्चर तक स्केल कर सकते हैं।
Line 73: Line 72:
* [[विभाजन (डेटाबेस)]] तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)। <code>null</code> वे मान जो विभाजन को विकृत कर सकते हैं)
* [[विभाजन (डेटाबेस)]] तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)। <code>null</code> वे मान जो विभाजन को विकृत कर सकते हैं)
* लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें (<code>disable constraint</code> ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में
* लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें (<code>disable constraint</code> ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में
* [[डेटाबेस ट्रिगर]] अक्षम करें (<code>disable trigger</code> ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में: एक अलग चरण के रूप में उनके प्रभाव का अनुकरण करें
* [[डेटाबेस ट्रिगर]] अक्षम करें (<code>disable trigger</code> ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में: अलग चरण के रूप में उनके प्रभाव का अनुकरण करें
* ETL परत में आईडी जनरेट करें (डेटाबेस में नहीं)
* ETL परत में आईडी जनरेट करें (डेटाबेस में नहीं)
* लोड से पहले [[ डेटाबेस सूचकांक ]] (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के बाद उन्हें फिर से बनाएं (एसक्यूएल: <code>drop index</code> ...<code>; create index</code> ...)
* लोड से पहले [[ डेटाबेस सूचकांक |डेटाबेस सूचकांक]] (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के बाद उन्हें फिर से बनाएं (एसक्यूएल: <code>drop index</code> ...<code>; create index</code> ...)
* जब संभव हो तो समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तो यह अच्छी तरह से काम करता है (नोट: एक ही तालिका (विभाजन) में समानांतर लोड करने का प्रयास आमतौर पर लॉक का कारण बनता है - यदि डेटा पंक्तियों पर नहीं, तो सूचकांकों पर)
* जब संभव हो तो समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तो यह अच्छी तरह से काम करता है (नोट: ही तालिका (विभाजन) में समानांतर लोड करने का प्रयास आमतौर पर लॉक का कारण बनता है - यदि डेटा पंक्तियों पर नहीं, तो सूचकांकों पर)
* यदि सम्मिलन, अद्यतन, या विलोपन करने की आवश्यकता मौजूद है, तो पता लगाएं कि ईटीएल परत में किन पंक्तियों को किस तरह से संसाधित किया जाना चाहिए, और फिर डेटाबेस में इन तीन कार्यों को अलग से संसाधित करें; आप अक्सर इंसर्ट के लिए बल्क लोड कर सकते हैं, लेकिन अपडेट और डिलीट आमतौर पर एक [[एपीआई]] ([[एसक्यूएल]] का उपयोग करके) के माध्यम से होते हैं
* यदि सम्मिलन, अद्यतन, या विलोपन करने की आवश्यकता मौजूद है, तो पता लगाएं कि ईटीएल परत में किन पंक्तियों को किस तरह से संसाधित किया जाना चाहिए, और फिर डेटाबेस में इन तीन कार्यों को अलग से संसाधित करें; आप अक्सर इंसर्ट के लिए बल्क लोड कर सकते हैं, लेकिन अपडेट और डिलीट आमतौर पर [[एपीआई]] ([[एसक्यूएल]] का उपयोग करके) के माध्यम से होते हैं


चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें व्यापार-बंद शामिल हो सकता है। उदाहरण के लिए, डुप्लिकेट का उपयोग करके हटाना <code>distinct</code> डेटाबेस में धीमा हो सकता है; इस प्रकार, इसे बाहर करना ही उचित है। दूसरी ओर, यदि उपयोग कर रहे हैं <code>distinct</code> उल्लेखनीय रूप से (x100) निकाले जाने वाली पंक्तियों की संख्या कम कर देता है, तो डेटा को अनलोड करने से पहले डेटाबेस में जितनी जल्दी हो सके डुप्लिकेशंस को हटाना समझ में आता है।
चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें व्यापार-बंद शामिल हो सकता है। उदाहरण के लिए, डुप्लिकेट का उपयोग करके हटाना <code>distinct</code> डेटाबेस में धीमा हो सकता है; इस प्रकार, इसे बाहर करना ही उचित है। दूसरी ओर, यदि उपयोग कर रहे हैं <code>distinct</code> उल्लेखनीय रूप से (x100) निकाले जाने वाली पंक्तियों की संख्या कम कर देता है, तो डेटा को अनलोड करने से पहले डेटाबेस में जितनी जल्दी हो सके डुप्लिकेशंस को हटाना समझ में आता है।


ईटीएल में समस्याओं का एक आम स्रोत ईटीएल नौकरियों के बीच निर्भरता की एक बड़ी संख्या है। उदाहरण के लिए, कार्य B प्रारंभ नहीं हो सकता जबकि कार्य A समाप्त नहीं हुआ है। आमतौर पर एक ग्राफ़ पर सभी प्रक्रियाओं की कल्पना करके, और [[समानांतर कंप्यूटिंग]] का अधिकतम उपयोग करके ग्राफ़ को कम करने का प्रयास करके और लगातार प्रसंस्करण की श्रृंखलाओं को यथासंभव छोटा बनाकर बेहतर प्रदर्शन प्राप्त किया जा सकता है। फिर, बड़ी तालिकाओं और उनके सूचकांकों का विभाजन वास्तव में मदद कर सकता है।
ईटीएल में समस्याओं का आम स्रोत ईटीएल नौकरियों के बीच निर्भरता की बड़ी संख्या है। उदाहरण के लिए, कार्य B प्रारंभ नहीं हो सकता जबकि कार्य A समाप्त नहीं हुआ है। आमतौर पर ग्राफ़ पर सभी प्रक्रियाओं की कल्पना करके, और [[समानांतर कंप्यूटिंग]] का अधिकतम उपयोग करके ग्राफ़ को कम करने का प्रयास करके और लगातार प्रसंस्करण की श्रृंखलाओं को यथासंभव छोटा बनाकर बेहतर प्रदर्शन प्राप्त किया जा सकता है। फिर, बड़ी तालिकाओं और उनके सूचकांकों का विभाजन वास्तव में मदद कर सकता है।


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


*स्रोत
*स्रोत
Line 99: Line 98:


* डेटा: [[समानांतर रैंडम एक्सेस मशीन]] प्रदान करने के लिए एकल अनुक्रमिक फ़ाइल को छोटी डेटा फ़ाइलों में विभाजित करके
* डेटा: [[समानांतर रैंडम एक्सेस मशीन]] प्रदान करने के लिए एकल अनुक्रमिक फ़ाइल को छोटी डेटा फ़ाइलों में विभाजित करके
* [[पाइपलाइन (कंप्यूटिंग)]]: एक ही [[आकड़ों का प्रवाह]] पर कई घटकों को एक साथ चलाने की अनुमति देना, उदाहरण के लिए रिकॉर्ड 2 पर दो फ़ील्ड जोड़ने के साथ-साथ रिकॉर्ड 1 पर एक मान देखना
* [[पाइपलाइन (कंप्यूटिंग)]]: ही [[आकड़ों का प्रवाह]] पर कई घटकों को साथ चलाने की अनुमति देना, उदाहरण के लिए रिकॉर्ड 2 पर दो फ़ील्ड जोड़ने के साथ-साथ रिकॉर्ड 1 पर मान देखना
* घटक: एक ही कार्य में विभिन्न डेटा स्ट्रीम पर एकाधिक [[प्रक्रिया (कंप्यूटिंग)]] का एक साथ चलना, उदाहरण के लिए किसी अन्य फ़ाइल पर डुप्लिकेट हटाते समय एक इनपुट फ़ाइल को सॉर्ट करना
* घटक: ही कार्य में विभिन्न डेटा स्ट्रीम पर एकाधिक [[प्रक्रिया (कंप्यूटिंग)]] का साथ चलना, उदाहरण के लिए किसी अन्य फ़ाइल पर डुप्लिकेट हटाते समय इनपुट फ़ाइल को सॉर्ट करना


सभी तीन प्रकार की समानताएं आमतौर पर एक ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं।
सभी तीन प्रकार की समानताएं आमतौर पर ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं।


यह सुनिश्चित करने में एक अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में अलग-अलग अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी तरह, जहां एक गोदाम को स्रोत प्रणाली में या सामान्य खाता बही के साथ सामग्री का मिलान करना पड़ सकता है, वहां सिंक्रनाइज़ेशन और समाधान बिंदु स्थापित करना आवश्यक हो जाता है।
यह सुनिश्चित करने में अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में अलग-अलग अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी तरह, जहां गोदाम को स्रोत प्रणाली में या सामान्य खाता बही के साथ सामग्री का मिलान करना पड़ सकता है, वहां सिंक्रनाइज़ेशन और समाधान बिंदु स्थापित करना आवश्यक हो जाता है।


== पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता ==
== पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता ==


डेटा वेयरहाउसिंग प्रक्रियाएं आमतौर पर एक बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में मदद मिलती है।
डेटा वेयरहाउसिंग प्रक्रियाएं आमतौर पर बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में मदद मिलती है।


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


== वर्चुअल ईटीएल ==
== वर्चुअल ईटीएल ==


{{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>
{{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>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 132: Line 131:
:आयाम पंक्ति को स्रोत प्रणाली की वर्तमान स्थिति से मेल करने के लिए बस अद्यतन किया जाता है; गोदाम इतिहास पर कब्जा नहीं करता है; लुकअप तालिका का उपयोग अद्यतन या अधिलेखित करने के लिए आयाम पंक्ति की पहचान करने के लिए किया जाता है
:आयाम पंक्ति को स्रोत प्रणाली की वर्तमान स्थिति से मेल करने के लिए बस अद्यतन किया जाता है; गोदाम इतिहास पर कब्जा नहीं करता है; लुकअप तालिका का उपयोग अद्यतन या अधिलेखित करने के लिए आयाम पंक्ति की पहचान करने के लिए किया जाता है
;प्रकार 2
;प्रकार 2
:स्रोत प्रणाली की नई स्थिति के साथ एक नई आयाम पंक्ति जोड़ी गई है; एक नई सरोगेट कुंजी सौंपी गई है; लुकअप तालिका में स्रोत कुंजी अब अद्वितीय नहीं है
:स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी गई है; नई सरोगेट कुंजी सौंपी गई है; लुकअप तालिका में स्रोत कुंजी अब अद्वितीय नहीं है
;पूरी तरह से लॉग इन
;पूरी तरह से लॉग इन
:स्रोत प्रणाली की नई स्थिति के साथ एक नई आयाम पंक्ति जोड़ी जाती है, जबकि पिछली आयाम पंक्ति को यह दर्शाने के लिए अद्यतन किया जाता है कि यह अब सक्रिय नहीं है और निष्क्रिय होने का समय है।
:स्रोत प्रणाली की नई स्थिति के साथ नई आयाम पंक्ति जोड़ी जाती है, जबकि पिछली आयाम पंक्ति को यह दर्शाने के लिए अद्यतन किया जाता है कि यह अब सक्रिय नहीं है और निष्क्रिय होने का समय है।


== उपकरण ==
== उपकरण ==
एक स्थापित ईटीएल ढांचा कनेक्टिविटी और स्केलेबिलिटी में सुधार कर सकता है।{{citation needed|date=December 2011}} एक अच्छा ईटीएल उपकरण कई अलग-अलग रिलेशनल डेटाबेस के साथ संचार करने और पूरे संगठन में उपयोग किए जाने वाले विभिन्न फ़ाइल स्वरूपों को पढ़ने में सक्षम होना चाहिए। ईटीएल टूल्स ने [[ एंटरप्राइज़ एप्लिकेशन एकीकरण ]] या यहां तक ​​कि [[ एंटरप्राइज़ सेवा बस ]] सिस्टम में माइग्रेट करना शुरू कर दिया है, जो अब डेटा के निष्कर्षण, परिवर्तन और लोडिंग से कहीं अधिक को कवर करता है। कई ईटीएल विक्रेताओं के पास अब डेटा प्रोफाइलिंग, डेटा गुणवत्ता और [[मेटाडेटा (कंप्यूटिंग)]] क्षमताएं हैं। ईटीएल टूल के लिए एक सामान्य उपयोग के मामले में सीएसवी फ़ाइलों को रिलेशनल डेटाबेस द्वारा पढ़ने योग्य प्रारूप में परिवर्तित करना शामिल है। ईटीएल टूल्स द्वारा लाखों रिकॉर्ड्स के एक विशिष्ट अनुवाद की सुविधा प्रदान की जाती है जो उपयोगकर्ताओं को सीएसवी-जैसे डेटा फ़ीड/फ़ाइलों को इनपुट करने और उन्हें यथासंभव कम कोड के साथ डेटाबेस में आयात करने में सक्षम बनाती है।
एक स्थापित ईटीएल ढांचा कनेक्टिविटी और स्केलेबिलिटी में सुधार कर सकता है। अच्छा ईटीएल उपकरण कई अलग-अलग रिलेशनल डेटाबेस के साथ संचार करने और पूरे संगठन में उपयोग किए जाने वाले विभिन्न फ़ाइल स्वरूपों को पढ़ने में सक्षम होना चाहिए। ईटीएल टूल्स ने [[ एंटरप्राइज़ एप्लिकेशन एकीकरण |एंटरप्राइज़ एप्लिकेशन एकीकरण]] या यहां तक ​​कि [[ एंटरप्राइज़ सेवा बस |एंटरप्राइज़ सेवा बस]] सिस्टम में माइग्रेट करना शुरू कर दिया है, जो अब डेटा के निष्कर्षण, परिवर्तन और लोडिंग से कहीं अधिक को कवर करता है। कई ईटीएल विक्रेताओं के पास अब डेटा प्रोफाइलिंग, डेटा गुणवत्ता और [[मेटाडेटा (कंप्यूटिंग)]] क्षमताएं हैं। ईटीएल टूल के लिए सामान्य उपयोग के मामले में सीएसवी फ़ाइलों को रिलेशनल डेटाबेस द्वारा पढ़ने योग्य प्रारूप में परिवर्तित करना शामिल है। ईटीएल टूल्स द्वारा लाखों रिकॉर्ड्स के विशिष्ट अनुवाद की सुविधा प्रदान की जाती है जो उपयोगकर्ताओं को सीएसवी-जैसे डेटा फ़ीड/फ़ाइलों को इनपुट करने और उन्हें यथासंभव कम कोड के साथ डेटाबेस में आयात करने में सक्षम बनाती है।


ईटीएल उपकरण आमतौर पर पेशेवरों की एक विस्तृत श्रृंखला द्वारा उपयोग किए जाते हैं - कंप्यूटर विज्ञान के छात्रों से लेकर कंपनी खाता प्रबंधन के प्रभारी डेटाबेस आर्किटेक्ट तक बड़े डेटा सेट को जल्दी से आयात करना चाहते हैं, ईटीएल उपकरण एक सुविधाजनक उपकरण बन गए हैं जिन पर अधिकतम प्रदर्शन प्राप्त करने के लिए भरोसा किया जा सकता है। . अधिकांश मामलों में ईटीएल टूल में एक जीयूआई होता है जो उपयोगकर्ताओं को फ़ाइलों को पार्स करने और डेटा प्रकारों को संशोधित करने के लिए बड़े प्रोग्राम लिखने के विपरीत, विज़ुअल डेटा मैपर का उपयोग करके डेटा को आसानी से बदलने में मदद करता है।
ईटीएल उपकरण आमतौर पर पेशेवरों की विस्तृत श्रृंखला द्वारा उपयोग किए जाते हैं - कंप्यूटर विज्ञान के छात्रों से लेकर कंपनी खाता प्रबंधन के प्रभारी डेटाबेस आर्किटेक्ट तक बड़े डेटा सेट को जल्दी से आयात करना चाहते हैं, ईटीएल उपकरण सुविधाजनक उपकरण बन गए हैं जिन पर अधिकतम प्रदर्शन प्राप्त करने के लिए भरोसा किया जा सकता है। . अधिकांश मामलों में ईटीएल टूल में जीयूआई होता है जो उपयोगकर्ताओं को फ़ाइलों को पार्स करने और डेटा प्रकारों को संशोधित करने के लिए बड़े प्रोग्राम लिखने के विपरीत, विज़ुअल डेटा मैपर का उपयोग करके डेटा को आसानी से बदलने में मदद करता है।


जबकि ईटीएल उपकरण परंपरागत रूप से डेवलपर्स और आईटी कर्मचारियों के लिए रहे हैं, शोध फर्म गार्टनर ने लिखा है कि नया चलन व्यावसायिक उपयोगकर्ताओं को ये क्षमताएं प्रदान करना है ताकि वे आईटी कर्मचारियों के पास जाने के बजाय जरूरत पड़ने पर स्वयं कनेक्शन और डेटा एकीकरण बना सकें।<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>
जबकि ईटीएल उपकरण परंपरागत रूप से डेवलपर्स और आईटी कर्मचारियों के लिए रहे हैं, शोध फर्म गार्टनर ने लिखा है कि नया चलन व्यावसायिक उपयोगकर्ताओं को ये क्षमताएं प्रदान करना है ताकि वे आईटी कर्मचारियों के पास जाने के बजाय जरूरत पड़ने पर स्वयं कनेक्शन और डेटा एकीकरण बना सकें।<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 146: Line 145:
== ईटीएल बनाम ईएलटी ==
== ईटीएल बनाम ईएलटी ==


एक्सट्रेक्ट, लोड, ट्रांसफॉर्म (ईएलटी) ईटीएल का एक प्रकार है जहां निकाले गए डेटा को पहले लक्ष्य सिस्टम में लोड किया जाता है।<ref name="AWS Data Warehousing 9" >Amazon Web Services, Data Warehousing on AWS, p 9</ref>
एक्सट्रेक्ट, लोड, ट्रांसफॉर्म (ईएलटी) ईटीएल का प्रकार है जहां निकाले गए डेटा को पहले लक्ष्य सिस्टम में लोड किया जाता है।<ref name="AWS Data Warehousing 9" >Amazon Web Services, Data Warehousing on AWS, p 9</ref>
एनालिटिक्स पाइपलाइन के लिए आर्किटेक्चर इस बात पर भी विचार करेगा कि डेटा को कहां साफ और समृद्ध किया जाए<ref name="AWS Data Warehousing 9" />साथ ही आयामों को कैसे अनुरूप बनाया जाए।<ref name="Kimball 2004" />
एनालिटिक्स पाइपलाइन के लिए आर्किटेक्चर इस बात पर भी विचार करेगा कि डेटा को कहां साफ और समृद्ध किया जाए<ref name="AWS Data Warehousing 9" />साथ ही आयामों को कैसे अनुरूप बनाया जाए।<ref name="Kimball 2004" />


Line 153: Line 152:


ईएलटी का उपयोग करने के बाद, डेटा को आगे संसाधित किया जा सकता है और डेटा मार्ट में संग्रहीत किया जा सकता है।<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 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>
प्रत्येक दृष्टिकोण के अपने पक्ष और विपक्ष हैं।<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>




Line 163: Line 162:
*डेटा मार्ट
*डेटा मार्ट
*[[डेटा मध्यस्थता]]
*[[डेटा मध्यस्थता]]
*[[डेटा जाल]], एक डोमेन-उन्मुख डेटा आर्किटेक्चर
*[[डेटा जाल]], डोमेन-उन्मुख डेटा आर्किटेक्चर
*आंकड़ों का विस्थापन
*आंकड़ों का विस्थापन
*[[इलेक्ट्रॉनिक डाटा इंटरचेंज]]|इलेक्ट्रॉनिक डेटा इंटरचेंज (ईडीआई)
*[[इलेक्ट्रॉनिक डाटा इंटरचेंज]]|इलेक्ट्रॉनिक डेटा इंटरचेंज (ईडीआई)
Line 177: Line 176:
== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}
{{Authority Control}}
 
{{Data}}
{{Data}}
{{Data warehouse}}
{{Data warehouse}}

Revision as of 12:06, 12 August 2023

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

Conventional ETL diagram
पारंपरिक ईटीएल आरेख[1]

उचित रूप से डिज़ाइन किया गया ईटीएल सिस्टम स्रोत सिस्टम से डेटा निकालता है और डेटा प्रकार और डेटा वैधता मानकों को लागू करता है और यह सुनिश्चित करता है कि यह आउटपुट की आवश्यकताओं के लिए संरचनात्मक रूप से अनुरूप है। कुछ ईटीएल सिस्टम प्रस्तुति-तैयार प्रारूप में भी डेटा वितरित कर सकते हैं ताकि एप्लिकेशन डेवलपर्स एप्लिकेशन बना सकें और अंतिम उपयोगकर्ता निर्णय ले सकें।[1]

ETL प्रक्रिया का उपयोग अक्सर डेटा वेयरहाउस में किया जाता है।[2] ईटीएल सिस्टम आमतौर पर कई अनुप्रयोगों (सिस्टम) से डेटा को एकीकृत करते हैं, जो आमतौर पर विभिन्न विक्रेताओं द्वारा विकसित और समर्थित होते हैं या अलग कंप्यूटर हार्डवेयर पर होस्ट किए जाते हैं। मूल डेटा वाले अलग-अलग सिस्टम को अक्सर विभिन्न हितधारकों (कॉर्पोरेट) द्वारा प्रबंधित और संचालित किया जाता है। उदाहरण के लिए, लागत लेखांकन प्रणाली पेरोल, बिक्री और खरीद से डेटा को जोड़ सकती है।

निकालें

डेटा निष्कर्षण में सजातीय या विषम स्रोतों से डेटा निकालना शामिल है; डेटा परिवर्तन डेटा को साफ़ करके और उसे पूछताछ और विश्लेषण के प्रयोजनों के लिए उचित भंडारण प्रारूप/संरचना में परिवर्तित करके संसाधित करता है; अंत में, डेटा लोडिंग अंतिम लक्ष्य डेटाबेस जैसे परिचालन डेटा भंडार, डेटा मार्ट, डेटा लेक या डेटा वेयरहाउस में डेटा के सम्मिलन का वर्णन करता है।[3][4] ईटीएल प्रसंस्करण में स्रोत सिस्टम से डेटा निकालना शामिल है। कई मामलों में, यह ईटीएल के सबसे महत्वपूर्ण पहलू का प्रतिनिधित्व करता है, क्योंकि डेटा को सही ढंग से निकालना बाद की प्रक्रियाओं की सफलता के लिए चरण निर्धारित करता है। अधिकांश डेटा-वेयरहाउसिंग परियोजनाएं विभिन्न स्रोत प्रणालियों से डेटा को जोड़ती हैं। प्रत्येक अलग सिस्टम अलग डेटा संगठन और/या फ़ाइल प्रारूप का भी उपयोग कर सकता है। सामान्य डेटा-स्रोत प्रारूपों में संबंधपरक डेटाबेसवर्चुअल स्टोरेज एक्सेस विधि (वीएसएएम) या आईएसएएम|इंडेक्स्ड सीक्वेंशियल एक्सेस मेथड (आईएसएएम), या यहां तक ​​कि वेब मकड़ी िंग या स्क्रीन scraping जैसे माध्यमों से बाहरी स्रोतों से प्राप्त प्रारूप भी। निकाले गए डेटा स्रोत की स्ट्रीमिंग और गंतव्य डेटाबेस पर ऑन-द-फ्लाई लोड करना ईटीएल प्रदर्शन का और तरीका है जब किसी मध्यवर्ती डेटा भंडारण की आवश्यकता नहीं होती है।

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

परिवर्तन

डेटा परिवर्तन चरण में, अंतिम लक्ष्य में लोड करने के लिए इसे तैयार करने के लिए निकाले गए डेटा पर नियमों या कार्यों की श्रृंखला लागू की जाती है।

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

अन्य मामलों में, सर्वर या डेटा वेयरहाउस की व्यावसायिक और तकनीकी आवश्यकताओं को पूरा करने के लिए निम्नलिखित में से या अधिक परिवर्तन प्रकारों की आवश्यकता हो सकती है:

  • लोड करने के लिए केवल कुछ निश्चित कॉलम का चयन करना: (या लोड न करने के लिए शून्य (एसक्यूएल) कॉलम का चयन करना)। उदाहरण के लिए, यदि स्रोत डेटा में तीन कॉलम (उर्फ विशेषताएँ), रोल नंबर, आयु और वेतन हैं, तो चयन में केवल रोल नंबर और वेतन शामिल हो सकता है। या, चयन तंत्र उन सभी रिकॉर्डों को अनदेखा कर सकता है जहां वेतन मौजूद नहीं है (वेतन = शून्य)।
  • कोडित मानों का अनुवाद करना: (उदाहरण के लिए, यदि स्रोत सिस्टम पुरुष को 1 और महिला को 2 के रूप में कोड करता है, लेकिन वेयरहाउस पुरुष को M और महिला को F के रूप में कोड करता है)
  • फ्री-फॉर्म मानों को एन्कोड करना: (उदाहरण के लिए, मेल को एम में मैप करना)
  • एक नया परिकलित मान प्राप्त करना: (उदाहरण के लिए, बिक्री_राशि = मात्रा * इकाई_मूल्य)
  • खोज प्रदर्शन को बेहतर बनाने के लिए कॉलम की सूची के आधार पर डेटा को क्रमबद्ध या क्रमबद्ध करना
  • जुड़ें (संबंधपरक बीजगणित) # कई स्रोतों (उदाहरण के लिए, लुकअप, मर्ज) से डेटा को जोड़ना और जोड़ना और डेटा लिंकेज को रिकॉर्ड करना
  • एकत्रीकरण (उदाहरण के लिए, रोलअप - डेटा की कई पंक्तियों का सारांश - प्रत्येक स्टोर के लिए कुल बिक्री, और प्रत्येक क्षेत्र के लिए, आदि)
  • सरोगेट कुंजी उत्पन्न करना|सरोगेट-कुंजी मान
  • खिसकाना या पिवट तालिका (एकाधिक कॉलम को कई पंक्तियों में बदलना या इसके विपरीत)
  • एक कॉलम को कई कॉलम में विभाजित करना (उदाहरण के लिए, अल्पविराम से अलग किए गए मानों को परिवर्तित करना | अल्पविराम से अलग की गई सूची, कॉलम में स्ट्रिंग के रूप में निर्दिष्ट, अलग-अलग कॉलम में अलग-अलग मानों में)
  • दोहराए जाने वाले कॉलमों को अलग-अलग करना
  • तालिकाओं या संदर्भात्मक फ़ाइलों से प्रासंगिक डेटा को देखना और मान्य करना
  • किसी भी प्रकार का डेटा सत्यापन लागू करना; असफल सत्यापन के परिणामस्वरूप डेटा की पूर्ण अस्वीकृति, आंशिक अस्वीकृति, या बिल्कुल भी अस्वीकृति नहीं हो सकती है, और इस प्रकार नियम डिजाइन और अपवाद हैंडलिंग के आधार पर कोई भी, कुछ या सभी डेटा अगले चरण में नहीं सौंपा जाता है; उपरोक्त कई परिवर्तनों के परिणामस्वरूप अपवाद हो सकते हैं, उदाहरण के लिए, जब कोई कोड अनुवाद निकाले गए डेटा में किसी अज्ञात कोड को पार्स करता है

लोड

लोड चरण डेटा को अंतिम लक्ष्य में लोड करता है, जो साधारण सीमांकित फ्लैट फ़ाइल या डेटा वेयरहाउस सहित कोई भी डेटा स्टोर हो सकता है।[5] संगठन की आवश्यकताओं के आधार पर, यह प्रक्रिया व्यापक रूप से भिन्न होती है। कुछ डेटा वेयरहाउस मौजूदा जानकारी को संचयी जानकारी से अधिलेखित कर सकते हैं; निकाले गए डेटा को अपडेट करना अक्सर दैनिक, साप्ताहिक या मासिक आधार पर किया जाता है। अन्य डेटा वेयरहाउस (या यहां तक ​​कि उसी डेटा वेयरहाउस के अन्य हिस्से) नियमित अंतराल पर ऐतिहासिक रूप में नया डेटा जोड़ सकते हैं - उदाहरण के लिए, प्रति घंटा। इसे समझने के लिए, डेटा वेयरहाउस पर विचार करें जो पिछले वर्ष के बिक्री रिकॉर्ड को बनाए रखने के लिए आवश्यक है। यह डेटा वेयरहाउस वर्ष से अधिक पुराने किसी भी डेटा को नए डेटा के साथ अधिलेखित कर देता है। हालाँकि, किसी भी वर्ष की विंडो के लिए डेटा की प्रविष्टि ऐतिहासिक तरीके से की जाती है। बदलने या जोड़ने का समय और दायरा रणनीतिक डिज़ाइन विकल्प हैं जो उपलब्ध समय और व्यावसायिक आवश्यकताओं पर निर्भर करते हैं। अधिक जटिल सिस्टम डेटा वेयरहाउस में लोड किए गए डेटा में सभी परिवर्तनों का इतिहास और लेखापरीक्षा बनाए रख सकते हैं। जैसे ही लोड चरण डेटाबेस के साथ इंटरैक्ट करता है, डेटाबेस स्कीमा में परिभाषित बाधाएं - साथ ही डेटा लोड पर सक्रिय ट्रिगर्स में - लागू होती हैं (उदाहरण के लिए, विशिष्टता, संदर्भात्मक अखंडता, अनिवार्य फ़ील्ड), जो समग्र डेटा गुणवत्ता प्रदर्शन में भी योगदान देती हैं। ईटीएल प्रक्रिया का.

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

वास्तविक जीवन ईटीएल चक्र

विशिष्ट वास्तविक जीवन ईटीएल चक्र में निम्नलिखित निष्पादन चरण होते हैं:

  1. चक्र आरंभ
  2. संदर्भ डेटा बनाएं
  3. उद्धरण (स्रोतों से)
  4. आंकड़ा मान्यीकरण
  5. ट्रांसफॉर्म करें (डेटा सफाई, व्यावसायिक नियम लागू करें, डेटा अखंडता की जांच करें, एग्रीगेट (डेटा वेयरहाउस) बनाएं या अलग करें)
  6. स्टेज (यदि उपयोग किया जाता है तो स्टेजिंग (डेटा) तालिकाओं में लोड करें)
  7. परीक्षण विवरण (उदाहरण के लिए, व्यावसायिक नियमों के अनुपालन पर। साथ ही, विफलता के मामले में, निदान/मरम्मत में मदद करती है)
  8. प्रकाशित करें (तालिकाओं को लक्षित करने के लिए)
  9. संग्रहित किया जा रहा है

चुनौतियाँ

ईटीएल प्रक्रियाओं में काफी जटिलता शामिल हो सकती है, और अनुचित तरीके से डिजाइन किए गए ईटीएल सिस्टम के साथ महत्वपूर्ण परिचालन समस्याएं हो सकती हैं।

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

डेटा वेयरहाउस आमतौर पर विभिन्न प्रारूपों और उद्देश्यों के साथ विभिन्न डेटा स्रोतों से इकट्ठे किए जाते हैं। इस प्रकार, ईटीएल सभी डेटा को मानक, सजातीय वातावरण में साथ लाने की महत्वपूर्ण प्रक्रिया है।

डिज़ाइन विश्लेषण[6] इसके उपयोग के पूरे जीवनकाल में ईटीएल प्रणाली की मापनीयता स्थापित की जानी चाहिए - जिसमें सेवा स्तर के समझौतों के भीतर संसाधित किए जाने वाले डेटा की मात्रा को समझना भी शामिल है। स्रोत सिस्टम से निकालने के लिए उपलब्ध समय बदल सकता है, जिसका अर्थ यह हो सकता है कि समान मात्रा में डेटा को कम समय में संसाधित करना पड़ सकता है। कुछ ईटीएल प्रणालियों को दसियों टेराबाइट्स डेटा के साथ डेटा वेयरहाउस को अपडेट करने के लिए टेराबाइट्स डेटा को संसाधित करने के लिए स्केल करना पड़ता है। डेटा की बढ़ती मात्रा के लिए ऐसे डिज़ाइन की आवश्यकता हो सकती है जो दैनिक बैच प्रसंस्करण से लेकर कई-दिवसीय माइक्रो बैच तक संदेश कतारों के साथ एकीकरण या निरंतर परिवर्तन और अद्यतन के लिए वास्तविक समय परिवर्तन-डेटा-कैप्चर तक स्केल कर सकते हैं।

प्रदर्शन

ईटीएल विक्रेता कई सीपीयू, कई हार्ड ड्राइव, कई गीगाबिट-नेटवर्क कनेक्शन और बहुत अधिक मेमोरी वाले शक्तिशाली सर्वर का उपयोग करके अपने रिकॉर्ड-सिस्टम को कई टीबी (टेराबाइट्स) प्रति घंटे (या ~ 1 जीबी प्रति सेकंड) पर बेंचमार्क करते हैं।

वास्तविक जीवन में, ईटीएल प्रक्रिया का सबसे धीमा हिस्सा आमतौर पर डेटाबेस लोड चरण में होता है। डेटाबेस धीमा प्रदर्शन कर सकते हैं क्योंकि उन्हें समवर्तीता, अखंडता रखरखाव और सूचकांकों का ध्यान रखना होता है। इस प्रकार, बेहतर प्रदर्शन के लिए, निम्नलिखित को नियोजित करना उचित हो सकता है:

  • हाई-स्पीड एक्सट्रैक्ट प्राप्त करते समय सोर्स सिस्टम पर लोड को कम करने के लिए जब भी संभव हो डायरेक्ट पाथ एक्सट्रेक्ट विधि या बल्क अनलोड (डेटाबेस से पूछताछ करने के बजाय)
  • अधिकांश परिवर्तन प्रसंस्करण डेटाबेस के बाहर
  • जब भी संभव हो बल्क लोड संचालन

फिर भी, बल्क ऑपरेशंस का उपयोग करते हुए भी, डेटाबेस एक्सेस आमतौर पर ईटीएल प्रक्रिया में बाधा है। प्रदर्शन बढ़ाने के लिए उपयोग की जाने वाली कुछ सामान्य विधियाँ हैं:

  • विभाजन (डेटाबेस) तालिकाएँ (और सूचकांक): विभाजनों को आकार में समान रखने का प्रयास करें (देखें)। null वे मान जो विभाजन को विकृत कर सकते हैं)
  • लोड से पहले ईटीएल परत में सभी सत्यापन करें: डेटा अखंडता जांच अक्षम करें (disable constraint ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में
  • डेटाबेस ट्रिगर अक्षम करें (disable trigger ...) लोड के दौरान लक्ष्य डेटाबेस तालिकाओं में: अलग चरण के रूप में उनके प्रभाव का अनुकरण करें
  • ETL परत में आईडी जनरेट करें (डेटाबेस में नहीं)
  • लोड से पहले डेटाबेस सूचकांक (किसी टेबल या पार्टीशन पर) को छोड़ें - और लोड के बाद उन्हें फिर से बनाएं (एसक्यूएल: drop index ...; create index ...)
  • जब संभव हो तो समानांतर बल्क लोड का उपयोग करें - जब तालिका विभाजित होती है या कोई सूचकांक नहीं होता है तो यह अच्छी तरह से काम करता है (नोट: ही तालिका (विभाजन) में समानांतर लोड करने का प्रयास आमतौर पर लॉक का कारण बनता है - यदि डेटा पंक्तियों पर नहीं, तो सूचकांकों पर)
  • यदि सम्मिलन, अद्यतन, या विलोपन करने की आवश्यकता मौजूद है, तो पता लगाएं कि ईटीएल परत में किन पंक्तियों को किस तरह से संसाधित किया जाना चाहिए, और फिर डेटाबेस में इन तीन कार्यों को अलग से संसाधित करें; आप अक्सर इंसर्ट के लिए बल्क लोड कर सकते हैं, लेकिन अपडेट और डिलीट आमतौर पर एपीआई (एसक्यूएल का उपयोग करके) के माध्यम से होते हैं

चाहे डेटाबेस में या उसके बाहर कुछ परिचालन करना हो, इसमें व्यापार-बंद शामिल हो सकता है। उदाहरण के लिए, डुप्लिकेट का उपयोग करके हटाना distinct डेटाबेस में धीमा हो सकता है; इस प्रकार, इसे बाहर करना ही उचित है। दूसरी ओर, यदि उपयोग कर रहे हैं distinct उल्लेखनीय रूप से (x100) निकाले जाने वाली पंक्तियों की संख्या कम कर देता है, तो डेटा को अनलोड करने से पहले डेटाबेस में जितनी जल्दी हो सके डुप्लिकेशंस को हटाना समझ में आता है।

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

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

  • स्रोत
  • केंद्रीय ईटीएल परत
  • लक्ष्य

यह दृष्टिकोण प्रसंस्करण को समानता का अधिकतम लाभ उठाने की अनुमति देता है। उदाहरण के लिए, यदि आपको डेटा को दो डेटाबेस में लोड करने की आवश्यकता है, तो आप लोड को समानांतर में चला सकते हैं (पहले में लोड करने के बजाय - और फिर दूसरे में प्रतिलिपि बनाने के बजाय)।

कभी-कभी प्रसंस्करण क्रमिक रूप से होना चाहिए। उदाहरण के लिए, मुख्य तथ्य तालिका के लिए पंक्तियों को प्राप्त करने और सत्यापित करने से पहले आयामी (संदर्भ) डेटा की आवश्यकता होती है| तथ्य सारणी.

समानांतर प्रसंस्करण

ए recentईटीएल सॉफ्टवेयर में विकास समानांतर कंप्यूटिंग का कार्यान्वयन है। इसने बड़ी मात्रा में डेटा से निपटने के दौरान ईटीएल के समग्र प्रदर्शन को बेहतर बनाने के लिए कई तरीकों को सक्षम किया है।

ईटीएल अनुप्रयोग तीन मुख्य प्रकार की समानता लागू करते हैं:

सभी तीन प्रकार की समानताएं आमतौर पर ही कार्य या कार्य में संयुक्त रूप से संचालित होती हैं।

यह सुनिश्चित करने में अतिरिक्त कठिनाई आती है कि अपलोड किया जा रहा डेटा अपेक्षाकृत सुसंगत है। क्योंकि एकाधिक स्रोत डेटाबेस में अलग-अलग अद्यतन चक्र हो सकते हैं (कुछ को हर कुछ मिनट में अपडेट किया जा सकता है, जबकि अन्य को दिन या सप्ताह लग सकते हैं), ईटीएल सिस्टम को सभी स्रोतों के सिंक्रनाइज़ होने तक कुछ डेटा को वापस रखने की आवश्यकता हो सकती है। इसी तरह, जहां गोदाम को स्रोत प्रणाली में या सामान्य खाता बही के साथ सामग्री का मिलान करना पड़ सकता है, वहां सिंक्रनाइज़ेशन और समाधान बिंदु स्थापित करना आवश्यक हो जाता है।

पुनरुत्पादन योग्यता, पुनर्प्राप्ति योग्यता

डेटा वेयरहाउसिंग प्रक्रियाएं आमतौर पर बड़ी ईटीएल प्रक्रिया को क्रमिक रूप से या समानांतर में चलने वाले छोटे टुकड़ों में विभाजित करती हैं। डेटा प्रवाह पर नज़र रखने के लिए, प्रत्येक डेटा पंक्ति को row_id के साथ टैग करना और प्रक्रिया के प्रत्येक भाग को run_id के साथ टैग करना समझ में आता है। विफलता की स्थिति में, इन आईडी के होने से विफल टुकड़े को वापस रोल करने और फिर से चलाने में मदद मिलती है।

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

वर्चुअल ईटीएल

As of 2010, ईटीएल प्रोसेसिंग को आगे बढ़ाने के लिए डेटा वर्चुअलाइजेशन शुरू हो गया था। ईटीएल में डेटा वर्चुअलाइजेशन के अनुप्रयोग ने कई बिखरे हुए डेटा स्रोतों के लिए आंकड़ों का विस्थापन और एप्लिकेशन एकीकरण के सबसे सामान्य ईटीएल कार्यों को हल करने की अनुमति दी। वर्चुअल ईटीएल विभिन्न प्रकार के संबंधपरक, अर्ध-संरचित और असंरचित डेटा स्रोतों से एकत्रित वस्तुओं या संस्थाओं के अमूर्त प्रतिनिधित्व के साथ काम करता है। ईटीएल उपकरण ऑब्जेक्ट-ओरिएंटेड मॉडलिंग का लाभ उठा सकते हैं और केंद्र में स्थित हब और बात की आर्किटेक्चर में लगातार संग्रहीत संस्थाओं के प्रतिनिधित्व के साथ काम कर सकते हैं। ऐसा संग्रह जिसमें ईटीएल प्रसंस्करण के लिए डेटा स्रोतों से एकत्र की गई संस्थाओं या वस्तुओं का प्रतिनिधित्व होता है, मेटाडेटा रिपॉजिटरी कहलाता है और यह मेमोरी में रह सकता है[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. 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.
  2. 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)
  3. Zhao, Shirley (2017-10-20). "What is ETL? (Extract, Transform, Load) | Experian". Experian Data Quality (in English). Retrieved 2018-12-12.
  4. Pott, Trevor (4 June 2018). "Extract, transform, load? More like extremely tough to load, amirite?". The Register (in English). Retrieved 2018-12-12.
  5. "डेटा एकीकरण जानकारी". डेटा एकीकरण जानकारी.
  6. 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.
  7. Virtual ETL
  8. "ईटीएल ख़त्म नहीं हुआ है. व्यावसायिक सफलता के लिए यह अभी भी महत्वपूर्ण है". Data Integration Info. 8 June 2020. Retrieved 14 July 2020.
  9. Kimball, The Data Warehouse Lifecycle Toolkit, p 332
  10. 10.0 10.1 Golfarelli/Rizzi, Data Warehouse Design, p 291
  11. "स्वयं सेवा डेटा एकीकरण का अनवरत उदय". Gartner. 22 May 2015. Retrieved 31 January 2016.
  12. "सिटीजन इंटीग्रेटर को अपनाएं". Gartner. Retrieved September 29, 2021.
  13. 13.0 13.1 Amazon Web Services, Data Warehousing on AWS, p 9
  14. "The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data [Book]".
  15. Amazon Web Services, Data Warehousing on AWS, 2016, p 10
  16. "ETL vs ELT: We Posit, You Judge". 30 August 2013.
  17. 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.