2010-08-06 9 views
6

(यह सवाल अस्थायी रूप से और प्रोग्राम के लिए सबसे अच्छा तरीका सिंक में दो डेटाबेस की नई रिकॉर्ड रखने के बारे में है, बहुत अलग स्कीमा होने, और पुराने -outdated और अब required- रिकॉर्ड अनदेखी।)एक नए डेटाबेस स्कीमा में क्रमिक माइग्रेशन। ¿सुझाव?

मैं काम एक ऐसी कंपनी पर जो मार्गदर्शिकाओं, समाचार पत्रों और वेबसाइटों के लिए टीवी प्रोग्रामिंग जानकारी प्रदान करती है।

मेरे पास एक पुरानी प्रणाली है जिसमें कई सीमाएं हैं और इसे एक नए द्वारा प्रतिस्थापित किया जा रहा है।

विभिन्न ग्राहक अलग-अलग प्रारूपों (xml, sql, txt, यहां तक ​​कि प्रिंट-तैयार पीडीएफ) में डेटा लेते हैं और विभिन्न तरीकों से (पुश, पुल, आंशिक डंप, सरल निर्यात, मैन्युअल निर्यात निर्यात-पीडीएफ संस्करण के समान- आदि)। कुछ निर्यात महीने में एक बार उत्पन्न होते हैं, अन्य दिन में एक से अधिक बार।

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

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

हम दोनों डेटाबेस में नए रिकॉर्ड डालना चाहते हैं, और पुराने लोगों को संपादित किया जा रहा है, साथ ही नए डेटाबेस में भी कॉपी किया गया है।

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

यह एक लंबा शॉट है, और मैं दृष्टिकोण के साथ पूरी तरह से आत्मविश्वास नहीं हूं।
क्या किसी को इस तरह के प्रोजेक्ट के साथ अनुभव है?
क्या आप इस दृष्टिकोण में किसी भी सामान्य नुकसान के बारे में जानते हैं, या कोई अन्य समाधान जो इस स्थिति में फिट हो सकता है?

उत्तर

1

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

मैं ऐसी कंपनी के लिए काम करता था जिसने इस तरह की समस्याओं की परवाह नहीं की थी और अंत में यह एक पूरी गड़बड़ी थी, पैच, चिल्लाहट और असहज तनाव के बाद पैच था। मुझे पता है ... उदास।

संबंधित मुद्दे