मेरे पास 1.4TB SQL सर्वर डेटाबेस है जो डिस्क I / O के साथ बड़े पैमाने पर संघर्ष कर रहा है। हमने सर्वर में एक नया SSD सरणी स्थापित किया है जो हमारी सभी समस्याओं को हल कर देगा, हम सिर्फ डेटाबेस को स्थानांतरित करने के सर्वोत्तम तरीके पर बहस कर रहे हैं। आदर्श रूप से अगर हम इसे डाउनटाइम के बिना कर सकते हैं, तो यह सबसे अच्छा है। लेकिन जहां चुनाव दो दिनों के खराब प्रदर्शन के बीच होता है (जैसे डेटा कॉपी करते समय) डाउनटाइम के दो घंटे बनाम, बाद वाला बेहतर हो सकता है।
अब तक, हम जिन समाधानों के साथ आए हैं वे हैं:
सरल प्रति। DB ऑफ़लाइन लें, फ़ाइलों को कॉपी करें, SQL सर्वर में स्थानों को बदलें और इसे ऑनलाइन वापस लाएं। किसी भी आंकड़े का अनुमान है कि इसमें पांच घंटे लगेंगे, जो वास्तव में स्वीकार्य नहीं है, लेकिन यह सबसे आसान समाधान है।
ब्लॉक स्तरीय प्रति। Rsync जैसी उपयोगिता का उपयोग करते हुए, हम DB भरते समय पृष्ठभूमि में फ़ाइलों की प्रतिलिपि बनाते हैं। जब हम माइग्रेट करने के लिए तैयार होते हैं, तो हम डीबी को ऑफ़लाइन लेते हैं, इस उपयोगिता का उपयोग करके एक अंतर कॉपी करते हैं, फिर नई फाइलों पर SQL सर्वर को इंगित करते हैं और इसे ऑनलाइन लाते हैं। यहाँ समय अज्ञात है। हम नहीं जानते कि 1.4TB के विभेदक विश्लेषण को करने में कितना समय लगेगा और उस पर प्रतिलिपि बनाई जाएगी। हमारी अन्य चिंता यह है कि ब्लॉक स्तर की प्रतिलिपि SQL सर्वर द्वारा अपठनीय कुछ राज्यों में फ़ाइलों को छोड़ देगी और हम अपना समय बर्बाद करेंगे।
एसक्यूएल प्रवास। नई डिस्क पर एक नई 1.4TB SQL डेटा फ़ाइल बनाएं और अन्य सभी फ़ाइलों पर ऑटोग्रॉथ को अक्षम करें। फिर बारी-बारी से अन्य सभी डेटा फ़ाइलों पर DBBC SHRINKFILE (-file_name-, EMPTYFILE) चलाएं। एक बार डेटा के सभी पार हो जाने के बाद, मैं एसएसडी से अधिक एमडीएफ फ़ाइल को स्थानांतरित करने और अन्य उपयोग की गई फ़ाइलों को हटाने के लिए किसी बिंदु पर एक निर्धारित विंडो ले लूंगा। मुझे यह पसंद है क्योंकि यह डाउनटाइम को कम करता है। लेकिन मुझे नहीं पता कि इसमें कितना समय लगेगा और क्या यह होने पर प्रदर्शन में गिरावट का कारण होगा।
इसका परीक्षण करने के लिए हमारे पास किसी भी तरह का भार और प्रदर्शन का माहौल नहीं है। मैं यह सत्यापित कर सकता हूं कि रणनीति हमारे मंचन के माहौल पर काम करेगी, लेकिन प्रभाव नहीं और प्रदर्शन नहीं।
don't know how long it will take to do a differential analysis of 1.4TB
कम से कम जब तक उस डेटा को पढ़ने में समय लगता है। मुझे नहीं लगता कि rsync विचार कुछ भी बचाता है। rsync को धीमे नेटवर्क के साथ सामना करने के लिए बनाया गया है।