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