सामान्य समस्या प्रोग्रामिंग की एक पूरी सबरी है जिसे डेटा क्लींजिंग कहा जाता है जो डेटा इंटीग्रेशन नामक एक बड़ी सबरी का हिस्सा है । इस प्रकार के मुद्दों से बचने की संभावना एक्सेल शीट से माइग्रेशन के कारण का एक बड़ा हिस्सा है और वरिष्ठ देव किसी क्षेत्र को अशक्त होने की अनुमति क्यों नहीं देना चाहते हैं। मुझे नहीं लगता कि यह कहना अनुचित है कि यह डेटा माइग्रेशन में जटिलता के बड़े स्रोतों में से एक है।
बस NULL का उपयोग करने का चयन करते समय जब भी आप करने की संभावना बहुत गलत हो सकती है, तो अकेले डेटा मॉडल को बदलने के लिए अभी और अधिक फ़ील्ड बनाने के लिए। एक्सेल में कमजोर या कोई अखंडता जाँच नहीं है, जो इन मुद्दों में से कई का कारण है। गलत काम यह है कि नए डेटाबेस में अखंडता की जाँच को हटा दें और उसमें कचरा डंप करें। यह समस्या को समाप्त करता है और भविष्य की एकीकरण के लिए महत्वपूर्ण जटिलता जोड़ता है जो किसी भी तरह के निरर्थक डेटा से निपटना है।
डेटा मॉडल बेमेल के कारण कुछ अंतर होने की संभावना है। इससे निपटना मोटे तौर पर दोनों डेटा मॉडल से परिचित (अंतरंग) होने की बात है और पुराने को नए से कैसे जोड़ा जाए, यह जानना है। जब तक नया एक के रूप में है एक पुरानी कैप्चर करने की क्षमता। (यदि नहीं, तो आपकी टीम की संभावना एक बहुत बड़ी समस्या है।) यह आसानी से सिर्फ नकल कॉलम की तुलना में अधिक काम करने की आवश्यकता हो सकती है। डार्कविंग इसका एक उत्कृष्ट उदाहरण देता है (साथ ही आँख बंद करके NULLs गलत काम क्यों करता है)। इस पर विस्तार से चर्चा करते है, तो पुराने मॉडल एक था ReceivedDate
और एक InProgress
सा और नए मॉडल एक है StartDate
और ProcessingEndTime
, आप अगर और स्थापित करने के लिए कैसे तय करने की आवश्यकता होगी ProcessingEndTime
। यह कैसे उपयोग किया जाता है, इस पर निर्भर करते हुए, एक उचित (लेकिन मनमाना) विकल्प इसे के रूप में ही स्थापित करने के लिए हो सकता हैStartDate
(या इसके तुरंत बाद अगर यह समस्या पैदा करेगा)।
हालाँकि, कुछ अंतर डेटा के कारण होने की संभावना है कि "होना चाहिए" जो गायब या दूषित है। (डेटा एंट्री एरर या डेटा प्रोसेसिंग सिस्टम में खराब माइग्रेशन या बग्स की खराब स्थिति से सबसे अधिक संभावना है।) यदि आपकी टीम में से किसी ने भी यह अनुमान नहीं लगाया है, तो आपने (सामूहिक रूप से) प्रोजेक्ट के समय का 20% खर्च करने के लिए खुद को सेट किया है " लगभग हो गया। (यह एक बना हुआ नंबर था, लेकिन यह बहुत दूर हो सकता हैइससे भी बदतर, या बेहतर। यह इस बात पर निर्भर करता है कि डेटा कितना गलत है, यह कितना महत्वपूर्ण है, यह कितना जटिल है, डेटा के लिए जिम्मेदार लोगों और अन्य कारकों से भागीदारी प्राप्त करना कितना आसान है।) एक बार जब आप यह निर्धारित कर लेते हैं कि डेटा "माना जाता है"। हो "लेकिन वहाँ गायब है। आमतौर पर आप पुराने डेटा स्रोतों को क्वेरी करके समस्या की सीमा निर्धारित करने का प्रयास करेंगे। यदि यह दर्जनों या सैकड़ों प्रविष्टियाँ हैं, तो संभवतः यह डेटा प्रविष्टि त्रुटियां हैं और डेटा के लिए ज़िम्मेदार ग्राहकों को मैन्युअल रूप से इसे हल करना चाहिए (यानी आपको बताएं कि मान क्या होना चाहिए।) यदि यह लाखों प्रविष्टियाँ हैं (या डेटा का एक महत्वपूर्ण अंश) , तब आपको पुनर्विचार करने की आवश्यकता हो सकती है कि क्या आपने सही पहचान की है कि यह "वहां" होना चाहिए। यह नई प्रणाली में मॉडलिंग त्रुटि का संकेत हो सकता है।
उदाहरण के लिए, एक ऐसे इनवॉइस की कल्पना करें जिसमें मात्राएं और प्रति आइटम योग (लेकिन यूनिट मूल्य नहीं) हो, सिवाय इसके कि कुछ मात्राएं अनावश्यक रूप से गायब थीं। ऐसे इनवॉइस को संसाधित करने वाले व्यक्ति से बात करते हुए, निम्नलिखित परिदृश्यों में से एक (या अधिक) का उत्पादन हो सकता है: 1) "ओह, एक खाली मात्रा का मतलब 1", 2) की मात्रा है "ओह, मुझे पता है कि वे आइटम लगभग $ 1,000 के लिए जाते हैं। स्पष्ट रूप से यह 2 ", 3) के लिए एक आदेश है" जब ऐसा होता है, तो मैं इस अन्य प्रणाली में कीमत देखता हूं और विभाजित करता हूं और गोल करता हूं ", 4)" मैं इसे किसी अन्य प्रणाली में देखता हूं ", 5)" यह वास्तविक डेटा नहीं है ", 6)" इससे पहले कभी नहीं देखा था "।
जैसा कि सुझाव दिया गया है, यह स्थिति को स्वचालित रूप से हल करने के कुछ तरीकों को इंगित कर सकता है, लेकिन आपको सावधान रहना होगा कि समाधान सभी मामलों पर लागू होता है। अन्य प्रणालियों में शामिल होना आम है जो डेटा को क्रॉस-चेक कर सकते हैं, और यह एक अच्छी बात है। हालाँकि, यह अक्सर एक बुरी चीज है, क्योंकि क्रॉस-चेकिंग करने के लिए इन प्रणालियों तक पहुंच प्राप्त करना और इनको एकीकृत करना मुश्किल हो सकता है, और अक्सर यह बात सामने आती है कि सिस्टम एक-दूसरे के साथ संघर्ष करते हैं, न कि केवल कुछ डेटा को मिस करके। कुछ मैनुअल हस्तक्षेप अक्सर आवश्यक होते हैं, और पैमाने पर निर्भर करते हुए, विशेष रूप से डेटा क्लींजिंग कार्य के लिए टूलिंग और इंटरफेस की आवश्यकता हो सकती है। अक्सर जो किया जाता है वह डेटा आंशिक रूप से आयात किया जाता है लेकिन लापता डेटा वाली पंक्तियों को एक अलग तालिका में भेजा जाता है जहां उनकी समीक्षा की जा सकती है।