समस्या की परिभाषा
हमारे डेटाबेस सर्वर को किसी अन्य डेटासेटर में स्थानांतरित करना होगा। यह Microsoft SQL Server 2012 एंटरप्राइज़ (64-बिट) पर चलता है और इसमें लगभग 2TB और 1TB के दो डेटाबेस शामिल हैं।
इसके लिए कोई डाउनटाइम कम होना आदर्श होगा।
काम का बोझ
वे डेटाबेस .NET वेबसाइट के लिए उपयोग किए जाते हैं और लगातार अपडेट हो रहे हैं।
सप्ताहांत में उपलब्ध नहीं होने के बावजूद यह स्वीकार्य होगा। वर्तमान में उपयोग में आने वाला डीबी तब तक उपयोग में रहेगा जब तक कि नया स्विच ऑन नहीं हो जाता।
यह स्विच आदर्श रूप से केवल डीबी अद्यतन नहीं किया जा रहा है, जबकि यह सुनिश्चित करते हुए नए DB सर्वर को इंगित करने के लिए DNS प्रविष्टियों को बदलकर बनाया जाएगा।
साथ ही, इस ऑपरेशन द्वारा लिया गया समय वास्तव में तब तक मायने नहीं रखता है जब तक कि एक सर्वर से दूसरे (डाउनटाइम) पर स्विच कम रखा जाता है।
दृष्टिकोण पर विचार किया
बैकअप और पुनर्स्थापना
यह अतीत में किया गया है, लेकिन एक उच्च डाउनटाइम शामिल है भले ही यह एक आंतरिक नेटवर्क के माध्यम से किया गया था, इसलिए इंटरनेट के माध्यम से अधिक कुशलता से
शिपिंग लॉग करें
जहां तक मैं समझता हूं, यह दृष्टिकोण मास्टर / गुलाम को कॉन्फ़िगर करके और मास्टर डीबी की सटीक कॉपी को उसके गुलाम को केवल पढ़ने के लिए डाउनटाइम को कम करेगा। जैसा कि ऊपर उल्लेख किया गया है, गुलाम तक कोई भी पहुंच आवश्यक नहीं होगी और हमें बिना डेटा भ्रष्टाचार के मास्टर डीबी की प्रतिकृति की आवश्यकता होगी।
यह संसाधनों के उपयोग के मामले में भी काफी कुशल प्रतीत होता है और यह मास्टर प्रदर्शन पर बहुत अधिक प्रभाव नहीं डालता है।
मैं इस दृष्टिकोण के बारे में गलत हो सकता हूं इसलिए मुझे सही करने के लिए स्वतंत्र महसूस करें।
डेटाबेस मिररिंग
मुझे उस दृष्टिकोण के बारे में पता नहीं है लेकिन यह एक वैध विकल्प की तरह लगता है। वास्तविक समय सिंक करने की आवश्यकता नहीं है और मास्टर का प्रदर्शन काफी महत्वपूर्ण है इसलिए अतुल्यकालिक इस तरह से जाना होगा यदि यह दृष्टिकोण चुना जाना था।
अन्य विकल्प?
यह सर्वर सीधे नंगे धातु के हार्डवेयर पर चलता है इसलिए निचले स्तर के समाधान दुर्भाग्य से एक विकल्प नहीं हैं। हो सकता है कि इसे पूरा करने का कोई बेहतर तरीका हो?
प्रतिबन्ध
जैसा कि वर्णित है, वे डेटाबेस उस बिंदु पर काफी बड़े हैं जिन्हें बनाए रखना मुश्किल है लेकिन यह एक अन्य समस्या है।
SQL सर्वर के संस्करण समान होंगे (Microsoft SQL Server 2012 एंटरप्राइज़ 64-बिट)।
यह दो डेटासेन्टर्स के बीच नेटवर्क पर हस्तांतरित करना होगा ताकि इंटरनेट पर सबसे अधिक संभव हो सके। प्रारंभिक सिंक के लिए एक साइट से दूसरी साइट पर भेजे गए डिस्क का होना दुर्भाग्य से एक विकल्प नहीं है। स्थानांतरण के लिए किसी प्रकार की सुरक्षा होना आदर्श होगा लेकिन हम इस स्थिति का सबसे अच्छा करेंगे।
इस कार्य के लिए हमारी आवश्यकताओं का काफी अच्छा अवलोकन करना चाहिए और उम्मीद है कि आप में से कुछ को इससे पहले उस स्थिति का सामना करना पड़ेगा।