डेटा माइग्रेशन - खतरनाक या आवश्यक?


26

मेरी कंपनी का सॉफ़्टवेयर डेवलपमेंट विभाग इस समस्या से जूझ रहा है कि डेटा माइग्रेशन को संभावित रूप से खतरनाक माना जाता है, खासकर मेरे प्रबंधकों के लिए।

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

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

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

मैं आपसे पूछ रहा हूँ:

  • डेटा माइग्रेशन के लिए आपके विचार क्या हैं, विशेष रूप से वास्तविक जीवन के मामलों के लिए और न केवल एक डेवलपर के दृष्टिकोण से?
  • क्या आपके पास मेरे प्रबंधकों की राय के खिलाफ कोई तर्क है?
  • आपकी कंपनी डेटा माइग्रेशन और उनसे होने वाली कठिनाइयों से कैसे निपटती है?
  • कोई और दिलचस्प विचार जो इस विषय से संबंधित है?

बहुत अच्छा सवाल है, लेकिन शायद प्रोग्रामर
टॉम एंडरसन

1
यह जरूरी नहीं कि एक "या" प्रश्न हो।
डेविड थॉर्नले

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

जवाबों:


29

डेटा माइग्रेशन मेरी रोटी और मक्खन हैं और डेटा क्लींजिंग वास्तव में बेहद महत्वपूर्ण मामला है। हमारे द्वारा उपयोग की जाने वाली एक रणनीति हमारे ग्राहक के डेटा का 100% माइग्रेट करती है, पूर्व-प्रवास टूल को साफ़ करने वाला डेटा है।

  1. इसका मतलब है कि दसियों डेटा-सनिटी चेक (ज्यादातर sql क्वेरी) विकसित करना।

  2. ग्राहक के साथ सफाई उपकरणों का आदान-प्रदान (क्योंकि यह उसका डेटा है, हम पैचिंग उपयोगिताओं को डिज़ाइन करते हैं, वह उन्हें मान्य करता है और उन्हें निष्पादित करता है)।

  3. पुनरावृत्तियों पर टूल को परिष्कृत करना और KPI- समर्थित औसत दर्जे की गुणवत्ता तक पहुँचना।

  4. माइग्रेशन के बाद डेटा संगति की जाँच खुशी से हुई है। यह डी-डे पर GO / NOGO निर्णय लेने में मदद करता है।

अंत में एक डेटा माइग्रेशन एक बेहद फायदेमंद व्यायाम है जो 3 से 5 साल के बाद होना है।

  1. यह व्यापार को समर्थन देने के लिए मंच की क्षमता को बढ़ावा देने की अनुमति देता है।

  2. यह डेटाबेस को कारगर बनाने की अनुमति देता है।

  3. यह अगली पीढ़ी के व्यावसायिक उपकरण (ESB / EAI, पोर्टल, सेल्फ-केयर प्लेटफॉर्म, रिपोर्टिंग और डेटा माइनिंग, आप इसे नाम देते हैं) के लिए आईटी प्लेटफॉर्म तैयार करता है।

  4. यह प्लेटफ़ॉर्म के बीच DIY डेटा प्रवाह को पुनर्गठित करता है जो "तत्काल आवश्यकताओं" को पूरा करने के लिए एक त्वरित और गंदे "अस्थायी" तरीके से वर्षों से जमा हुआ है।

  5. इन सबसे ऊपर यह आईटी प्रोडक्शन टीम को सशक्त बनाता है, जो अपने प्लेटफॉर्म को बेहतर तरीके से जानती हैं और 'कर' कर सकती हैं। इस प्रकार के लाभों को मापना मुश्किल है, लेकिन जब आप कई ग्राहकों को जानते हैं, तो यह विचार स्पष्ट हो जाता है। माइग्रेशन से दूर रहने वाली कंपनियां निम्नलिखित स्तर पर रहती हैं, बोल्ड पैक का नेतृत्व करती हैं।

यह थोड़ा ऐसा है जब आपके घर का तहखाना लकड़ी से पट जाता है। एक सुबह, आपको सब कुछ बाहर निकालना होगा और केवल अपनी ज़रूरत की चीज़ों को वापस रखना होगा और बाकी को फेंक देना होगा। उसके बाद, आप फिर से अपने तहखाने का उपयोग कर सकते हैं ;-)

एक और मौलिक विचार यह है कि आजकल, ग्राहक अपेक्षाएं हमेशा आगे बढ़ रही हैं, जैसा कि "ग्राहक हमेशा अधिक मांग करते हैं"। ताकि इन नए रुझानों की तलाश में किसी कंपनी के प्रतिद्वंद्वियों का हमेशा एक महत्वपूर्ण अनुपात होगा ताकि वे अपनी बाजार हिस्सेदारी बढ़ाने के लिए स्पष्ट इरादों के साथ काम कर सकें। जिस तरह से वे ऐसा करने के लिए प्रवृत्ति को छड़ी करने के लिए अपनी पेशकश को स्वीकार करने या यहां तक ​​कि रुझानों को चलाने के लिए है, और यह लगातार व्यापार फिर से इंजीनियरिंग की जरूरत पर जोर देता है। यदि आपका आईटी प्लेटफ़ॉर्म बहुत अधिक कठोर है, तो यह आपके स्वयं के जीवनसाथी के लिए अपने स्वयं के पक्ष में एक ड्रैग होगा और बाज़ार के रुझानों से पहले, और अंततः आपके स्वयं के बाजार में हिस्सेदारी को बनाए रखने के लिए होगा। दूसरे शब्दों में, चलती बाजार में जड़ता अप्रासंगिकता का एक नुस्खा है।

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

ऊपर दिए गए विचार वास्तव में "डेटा माइग्रेशन - खतरनाक या आवश्यक" शीर्षक में पूछे गए प्रश्न का केवल आधा उत्तर देते हैं। हाँ डेटा माइग्रेशन हैं आवश्यक है, लेकिन वे कर रहे हैं भी खतरनाक? इस खाते पर, आईटी में कई चीजें खतरनाक हैं। परिभाषा के अनुसार, कुछ भी जहां दांव ऊंचा है खतरनाक है; खासकर यदि आप मामले को गंभीरता से नहीं लेते हैं। लेकिन यह वास्तव में आईटी में सबसे आम पैटर्न है। डेटा-सेंटर या उच्च उपलब्धता या आपदा सहिष्णुता को गंभीरता से नहीं लेना खतरनाक है।
क्या इसका मतलब यह है कि आज की कंपनियों को आज के सूचना प्रौद्योगिकी परिदृश्य के इन स्तंभों से बाहर निकलना चाहिए? पक्का नहीं !

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

आपके प्रबंधकों को खुद से यह पूछने के लिए नेतृत्व किया जाना चाहिए "जब भी अधिकांश कंपनियां डेटा माइग्रेशन परियोजनाओं के माध्यम से सफलतापूर्वक जाती हैं, तो हमारी कंपनी को क्या इतना अलग बना देगा कि यह बदले में विफलता का अनुभव करेगा? और क्या यह एक के बिना अच्छी तरह से किराया कर सकता है?"


5
जैसा कि @ एलेन के उत्तर से परिलक्षित होता है, आपके प्रबंधक के दृष्टिकोण का एक कारण यह है कि डेटा माइग्रेशन, अपने आप में, एक प्रमुख परियोजना है, जिसमें सभी परिचर जोखिम हैं। डेटा माइग्रेशन के लिए विशिष्ट जोखिम भी हैं - डेटा को साफ करने में 98.6% की सफलता दर हासिल करने के साथ एकमात्र डेटा माइग्रेशन प्रोजेक्ट मैं शामिल किया गया है। यह काफी अच्छा लगता है, जब तक कि एक को पता नहीं चलता कि विफलता दर 600,000 ग्राहक रिकॉर्ड को मैन्युअल रूप से हल करने के लिए छोड़ दिया है। इसमें एक अलग विभाग स्थापित करना और जाँच और सत्यापन प्रक्रियाएँ शामिल थीं। फिर यह सस्ता या जोखिम मुक्त नहीं था।

@Chris। हमारा लक्ष्य 100% है और मैंने कम से कम एक बार इसे हासिल किया है। अधिकांश समय ग्राहक एक तरफ छोड़ दिया और मैन्युअल रूप से फिर से बनाया गया एक दर्जन से कम है।

4
@Alain - बधाई जिस प्रोजेक्ट का मैं जिक्र कर रहा था, वह 100% लक्ष्य पर था, लेकिन यह पता चला कि यह अस्वीकार्य था। मैन्युअल क्लींजिंग के लिए आवश्यक डेटा के अधिकांश भाग को "जॉन जॉनस के तीन चेक, जो इस पते पर दर्ज किए गए हैं, के मैनुअल चेक की आवश्यकता होती है, कितने अलग-अलग व्यक्ति हैं?" यह विशेष डेटा माइग्रेशन गैर-RDMS दृढ़ता से RDMS से था; और निहित सफाई डेटा जो 25 वर्षों तक की अवधि में जमा हुआ था।

2
और पेशेवर एक डेटा माइग्रेशन विशेषज्ञ (या कम से कम एक डेटा विशेषज्ञ) होना चाहिए न कि एप्लिकेशन प्रोग्रामर। कंपनियां मुश्किल में पड़ जाती हैं क्योंकि वे डेटा के शौकीनों को डेटा पेशेवरों के बजाय इस सामान को करने के लिए कहते हैं। बहुत सारे डेटाबेस डिजाइनों के साथ एक ही बात।
HLGEM

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

5

एलेन ने सफल डेटा माइग्रेशन प्रोजेक्ट के लिए डेटा क्लींजिंग के महत्व और डेटा माइग्रेशन को पूरा करने के पीछे तर्क दिया। मैं आपके प्रबंधक की केवल विशिष्ट चिंता को लक्षित करना चाहूंगा।

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

हो सकता है कि अब माइग्रेशन करना आवश्यक न हो लेकिन आपके प्रबंधक को कम से कम एक विज़न की आवश्यकता होती है जब वास्तव में माइग्रेशन किया जाएगा।


5

मैं एक बीमा कंपनी के लिए काम कर रहा था और कोर सिस्टम के लिए डेटा माइग्रेशन में शामिल था। खैर, कुल 4 बार थे। तो, यहाँ मेरी टिप्पणी:

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

खैर, डेटा माइग्रेशन एक भयानक जानवर है और यह वास्तविक है, इसलिए इसका सामना करें। यह जोखिम भरा है लेकिन इसे पहले और सावधानी से संबोधित करके कम किया जा सकता है। एक गाइड के रूप में, चार बड़ी प्रक्रियाएं हैं जिन्हें डेटा माइग्रेशन में ध्यान में रखा जाना चाहिए:

  1. डेटा मैपिंग। नई प्रणाली में मास्टर (और उनके संयोजन) के मानचित्र
  2. डेटा साफ। डेटा में अपवाद के नक्शे, यानी डेटा जिसका संयोजन नई प्रणाली पर अमान्य माना जाता है। यदि संभव हो, तो डेटा को बाहर करने के लिए व्यवसाय से निपटें जिसमें मैप करने का कोई तरीका नहीं है और संभावित रूप से नई प्रणाली को तोड़ सकता है, और वर्कअराउंड तैयार कर सकता है
  3. वास्तविक डेटा माइग्रेशन। डेटा माइग्रेशन करने के लिए कई रणनीतियाँ हैं। उदाहरण के लिए: बिग बैंग, वृद्धिशील
  4. रिपोर्ट समेकन। क्या दोनों प्रणाली को समानांतर में चलना चाहिए, कैसे सही और सुसंगत रिपोर्ट का उत्पादन करना चाहिए

सावधान योजना के साथ घटना, बकवास होता है! प्रवास से संबंधित समस्याओं से निपटने के लिए एक विशेष कार्य बल तैयार होना चाहिए।


1
मैंने एस्ट्रोनॉमी में काम किया, हमारे पास डेटा (फोटोग्राफिक प्लेटों पर) 130years वापस जा रहा है, जिससे हमें एक Y1.9K और Y2K समस्या एक साथ मिल रही है। हमारे पास टेपों का डेटा भी है, इससे पहले कि लोग बाइट में कितने बिट्स पर सहमत थे
मार्टिन बेकेट

3

1) डेटा माइग्रेशन के बारे में आपके विचार क्या हैं, विशेष रूप से वास्तविक जीवन के मामलों के लिए और न केवल एक डेवलपर के दृष्टिकोण से?

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

2) क्या आपके पास मेरे प्रबंधकों की राय के खिलाफ कोई तर्क है?

हां, प्रवास जोखिम भरा है, लेकिन यह जीवन का एक तथ्य भी है, इसलिए इससे निपटें। और इससे जल्द से जल्द निपटें।

3) आपकी कंपनी डेटा माइग्रेशन और उनसे होने वाली कठिनाइयों से कैसे निपटती है?

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

4: कोई अन्य दिलचस्प विचार जो इस विषय से संबंधित है

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


2

यदि आप जिस डेटा को माइग्रेट करने की योजना बनाते हैं, वह वर्तमान में खराब है, तो यह तय करने की आवश्यकता है कि आप माइग्रेशन करते हैं या नहीं। खराब डेटा = बेकार डेटा।

पलायन जोखिम भरा है, यह सच है। लेकिन ऐसा हर बड़े आईटी प्रोजेक्ट में होता है। जोखिम को कम करने के तरीके हैं और उन्हें निश्चित रूप से एक प्रवास में सामने की योजना बनाई जानी चाहिए।

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

चौथा, प्रवास शुरू करने से पहले आपको आवश्यकताओं और परीक्षण योजनाओं की आवश्यकता होती है। आपको यह जानने की आवश्यकता है कि यदि आपके पास पुराने सिस्टम में 1,293,687 रिकॉर्ड थे, कि आपके पास नए में वही है या आप जानते हैं कि वे कहाँ गए थे (अपवाद तालिका में शायद)। यदि आप एक असामान्य योजना को सामान्य कर रहे हैं, तो आपको यह गणना करने की आवश्यकता है कि आपके शुरू होने से पहले आपको कितने रिकॉर्ड समाप्त करने चाहिए और फिर जांच करनी चाहिए। आपको दस्तावेज़ीकरण की आवश्यकता है जो निर्दिष्ट करता है कि एक प्रणाली से दूसरे में मैपिंग क्या हैं। इससे आपके क्यूए लोगों को यह देखने में मदद मिलेगी कि डेटा सही जगह गया था।

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

सफल प्रवास की कुंजी योजना है। मैंने पाया है कि नियोजन (जिसमें परीक्षण मामलों और इकाई परीक्षणों को लिखना शामिल है) आमतौर पर वास्तविक विकास की तुलना में अधिक समय लेता है।

एक सफल डेटा माइग्रेशन की अगली कुंजी QA है। यह लॉन्च से एक दिन पहले क्यूए टीम में फेंकने की परियोजना नहीं है। जब QA कहते हैं कि कोई समस्या है, तो यह लॉन्च करने के लिए एक परियोजना नहीं है।

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

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

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


1

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

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

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

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

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


1

यह एक आवश्यक बुराई है। मैं दोनों सिरों पर रहा हूं और ये कुछ अन्य मुद्दे हैं जो समस्या को बढ़ाते हैं।

  1. जाहिर तौर पर, उद्यम में, जब कॉमपनी एक नई प्रणाली में जाते हैं, तो वे चाहते हैं कि यह सब कुछ पुरानी प्रणाली ने किया। वे अपनी प्रक्रियाओं की समीक्षा नहीं करते हैं। वे इतने अभिभूत हैं कि वे सब कुछ उसी तरह करते रहना चाहते हैं। यह उनके लिए सुरक्षित है।
  2. वे नई प्रणाली सीखने या विशेषज्ञता वाले लोगों को नियुक्त करने के लिए समय नहीं लेते हैं।
  3. वे नई प्रणाली को # 1 में समायोजित करना चाहते हैं या अपने व्यवसाय के कुछ नए पहलू को संभालना चाहते हैं। नई प्रणाली एक्स अनुकूलन एक्स परिवर्तित डेटा = जटिल जटिलताओं
  4. पर्याप्त समय परीक्षण के लिए समर्पित नहीं है।
  5. ग्राहक समानांतर / दो बार काम करने से नफरत करते हैं। उपयोगकर्ताओं को दोष नहीं दे सकते क्योंकि उन्हें ऐसा करने का समय नहीं दिया जाता है क्योंकि उनके अन्य सभी कर्तव्यों को पूर्ण विस्फोट पर रखा गया है।

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


0

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

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

क्या आपके पास मेरे प्रबंधकों की राय के खिलाफ कोई तर्क है?

वह सही है कि यह जोखिम भरा है। लेकिन आप इसे कम जोखिम भरा बनाने के लिए तकनीकों को अपना सकते हैं।

आपकी कंपनी डेटा माइग्रेशन और उनसे होने वाली कठिनाइयों से कैसे निपटती है?

हम दैनिक बैकअप, वृद्धिशील बैकअप, उत्पादन के लिए हर तैनाती से पहले बैकअप है। जो कुछ भी बुरा होने पर कम से कम आपको रोलबैक करने देता है।

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

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

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

कोई और दिलचस्प विचार जो इस विषय से संबंधित है?

मेरे लिए डेटा माइग्रेशन से संबंधित एक और चिंता कोड अपग्रेड और डेटा माइग्रेशन की संगति है। मेरे मामले में, फिर से, हम इसे संभालने के लिए स्वचालित तरीकों का उपयोग कर रहे हैं। और हमेशा रोलबैक के लिए तैयार है।

डेटा माइग्रेशन को मैन्युअल रूप से निष्पादित करने से डेटाबेस अज्ञात स्थिति में बदल सकता है। और विभिन्न सर्वर वातावरण के बीच डेटा माइग्रेशन संस्करण की तुलना करना कठिन है।

आशा करता हूँ की ये काम करेगा।


-1

हम अपना समय पुरानी विरासत प्रणालियों से डेटा को स्थानांतरित करने की कोशिश में बर्बाद नहीं करते हैं क्योंकि समय और निवेश और जोखिम सभी बहुत अधिक हैं। हम सिर्फ नए सिस्टम के साथ आगे बढ़ते हैं और जब आवश्यक हो तो एकीकृत करते हैं।

प्रत्येक व्यवसाय में विरासत प्रणाली का कोई न कोई रूप होता है जिसका उसे समर्थन करना चाहिए, और यह व्यवसाय करने की सामान्य लागत है।

आपके प्रबंधकों को यह अहसास होने की उम्मीद है कि प्रवासन की लागत को देखते हुए वे बहुत बेहतर होंगे।


मुझे आशा है कि आप अस्पताल नहीं चलाएंगे: हमारे पास केवल शिशुओं के लिए रोगी रिकॉर्ड क्यों हैं? वैसे हमने पिछले साल एक नई प्रणाली स्थापित की थी और सभी पुराने डेटा को स्थानांतरित करना बहुत कठिन था, इसलिए हमने केवल नए रोगियों को रखा!
मार्टिन बेकेट

नहीं, मैं अस्पताल नहीं चलाता। जो मैंने फिर से कहा उसे पढ़ें। "The reward your managers hope to realize had better be extremely high given the cost of the migration." यदि इनाम अधिक है - जो कुछ भी हो सकता है - तो यह इसके लायक है। अन्यथा, यह हर किसी के समय की बर्बादी है और एक अनावश्यक जोखिम है। इसके अलावा, मैंने अपने जवाब में उल्लेख किया कि नई प्रणाली को पुराने डेटा तक पहुंचने की अनुमति देने के लिए कुछ मामलों में एकीकरण किया जा सकता है। लेकिन यह निर्णय पूरी तरह से परिदृश्य पर निर्भर करता है।
jmort253

मुझे खेद है, लेकिन एकीकरण सिर्फ दु: ख को समेटता है।
पॉल नाथन

@Paul - यकीन है, लेकिन इतना डेटा चलती है। यहां चांदी की गोली नहीं है।
jmort253
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.