अक्सर अन्य डेटाबेस में अन्य डेटाबेस में क्लोन टेबल के लिए एक डेटाबेस में मास्टर टेबल से डेटा सिंक्रनाइज़ करने की आवश्यकता होती है। उदाहरण के लिए, उस मामले पर विचार करें जहां बैकएंड सिस्टम इन्वेंट्री डेटा प्रबंधित करता है और उस सूची डेटा को आखिरकार एक या अधिक डेटाबेस पर धक्का दिया जाना चाहिए जो किसी वेब साइट एप्लिकेशन का हिस्सा हैं।एक तरफा डेटाबेस सिंक्रनाइज़ेशन
बैकएंड सिस्टम में स्रोत डेटा भारी सामान्यीकृत है, दर्जनों टेबल और विदेशी कुंजी बाधाओं के साथ। यह एक अच्छी तरह से डिजाइन ओएलटीपी आरडीबीएमएस प्रणाली है। प्रश्न में कई तालिकाओं में लाखों पंक्तियां हैं। इस डेटा को नियमित रूप से अन्य डेटाबेस में धक्का देना है। जितनी बार व्यवहार्य हो; विलंबता सहन की जा सकती है। सबसे ऊपर, बैकएंड और रिमोट डेटाबेस दोनों का अधिकतम अपटाइम अनिवार्य है।
मैं SQL सर्वर का उपयोग कर रहा हूं और परिवर्तन ट्रैकिंग, पंक्तिवर्धक, ट्रिगर्स आदि से परिचित हूं। मुझे पता है कि माइक्रोसॉफ्ट इन परिदृश्यों के लिए प्रतिकृति, सिंकएफएक्स और एसएसआईएस को भारी रूप से धक्का देता है। हालांकि, विक्रेताओं की सिफारिश करने और समाधान के वास्तविक कार्यान्वयन, तैनाती और रखरखाव की सिफारिश करने वाले विक्रेता श्वेतपत्रों और अवलोकनों के बीच काफी अंतर है। SQL सर्वर दुनिया में, प्रतिकृति को अक्सर टर्नकी समाधान के रूप में देखा जाता है, लेकिन मैं वैकल्पिक समाधानों का पता लगाने की कोशिश कर रहा हूं। (कुछ डर है कि प्रतिकृति को प्रशासन करना मुश्किल है, स्कीमा को बदलना मुश्किल हो जाता है, और यदि पुन: प्रारंभिक आवश्यकता की आवश्यकता होती है तो महत्वपूर्ण सिस्टम के लिए बड़ी डाउनटाइम होगी।)
बहुत सारे गॉथस हैं । बड़ी संख्या में तालिकाओं के बीच जटिल विदेशी कुंजी रिश्तों के कारण, यह निर्धारित करना कि कैप्चर करने या अपडेट लागू करने का आदेश छोटा नहीं है। अद्वितीय इंडेक्स के कारण, दो पंक्तियों को इस तरह से अंतःस्थापित किया जा सकता है कि पंक्ति-पर-एक-बार अद्यतन भी काम नहीं करेगा (अंतिम अद्यतन से पहले प्रत्येक पंक्ति में मध्यवर्ती अद्यतन करने की आवश्यकता है)। ये आवश्यक रूप से शो-स्टॉपर्स नहीं हैं, क्योंकि अद्वितीय इंडेक्स को नियमित रूप से नियमित इंडेक्स में बदला जा सकता है और विदेशी कुंजी अक्षम की जा सकती हैं (हालांकि विदेशी कुंजी को अक्षम करना बेहद अवांछनीय है)। अक्सर, आप सुनेंगे, "बस" एसक्यूएल 2008 परिवर्तन ट्रैकिंग और एसएसआईएस या सिंकएफएक्स का उपयोग करें। इस प्रकार के उत्तर वास्तव में व्यावहारिक कठिनाइयों के लिए न्याय नहीं करते हैं।
(और निश्चित रूप से, ग्राहकों को वास्तव में एक कठिन समय कैसे नकल डेटा इतना मुश्किल हो सकता है समय अपने सर को लपेटकर, है एक मुश्किल स्थिति बनाने सब बदतर!) यह समस्या अंततः बहुत सामान्य है: प्रदर्शन कई की एकतरफ़ा सिंक्रनाइज़ेशन बहुत सारी पंक्तियों के साथ भारी संबंधित डेटाबेस टेबल। डेटाबेस में शामिल लगभग हर किसी को इस तरह के मुद्दे से निपटना होगा। श्वेतपत्र सामान्य हैं, व्यावहारिक विशेषज्ञता खोजने के लिए मुश्किल है। हम जानते हैं कि यह एक कठिन मुद्दा हो सकता है, लेकिन नौकरी पूरी होनी चाहिए। आइए सुनें कि आपके लिए क्या काम किया है (और क्या टालना है)। अपने उत्पादों को अन्य उत्पादों से माइक्रोसॉफ्ट उत्पादों या उत्पादों के साथ बताएं। लेकिन यदि आपने व्यक्तिगत रूप से बड़े पैमाने पर संबंधित तालिकाओं और पंक्तियों के साथ समाधान का परीक्षण नहीं किया है, तो कृपया उत्तर देने से बचें। आइए इस व्यावहारिक को रखें - सैद्धांतिक नहीं।
धन्यवाद, लेकिन मैं इसे डेटाबेस डेवलपर के दृष्टिकोण से देख रहा हूं, सर्वर प्रशासक नहीं। यह एक अपफ्रंट सॉफ्टवेयर डिज़ाइन दृष्टिकोण से महत्वपूर्ण है, न केवल एक परिचालन मामला। –
आपकी अंतर्दृष्टि के लिए धन्यवाद। संदर्भ के लिए, ध्यान दें कि आपके द्वारा किए गए प्रोजेक्ट की तुलना में लक्षित साइटों की संख्या विशेष रूप से चिंतित है (1-3 डेटाबेस)। इरादा प्रत्येक नोड पर समान सॉफ़्टवेयर तर्क चलाने के लिए है, इस प्रकार प्रश्न में तालिकाओं का डेटाबेस स्कीमा वही होगा। मैं समझता हूं कि आप "एप्लिकेशन संचार" के बारे में क्या कहते हैं, जो अनिवार्य सिस्टम शामिल होने पर एक जरूरी है, लेकिन एक अधिक सामान्य उद्देश्य समाधान जिसके लिए स्कीमा का लाभ उठाकर थोड़ा कोड आवश्यक है, वही है जो मैं ढूंढ रहा हूं। –
आप प्रतिकृति का वर्णन कर रहे हैं। यदि यह आपकी जरूरतों के अनुरूप है, तो इसके सभी गोथकाओं के साथ, इसे पुन: पेश करने पर पसीना न पड़े। 'आउट ऑफ़ द बॉक्स' प्रतिकृति में पहले से ही अनुभव और फीडबैक पहले से जमा हो चुके हैं। आपके द्वारा देखे गए गठजोड़ हैं * बाएं * क्या कई और समस्याओं को ठीक करने के बाद, और आपको बस उन सभी को दूर करना होगा। –