समस्या की परिभाषा
हमारे उपयोगकर्ताओं को एक डेटाबेस को क्वेरी करने की क्षमता की आवश्यकता होती है जो अधिकतर अद्यतित होती है। डेटा 24 घंटे तक बासी हो सकता है और यह स्वीकार्य है। उत्पादन प्रतिलिपि के साथ एक दूसरे डेटाबेस को प्राप्त करने और रखने के लिए न्यूनतम लागत दृष्टिकोण क्या होगा? वहाँ एक दृष्टिकोण मैं के बारे में नहीं सोच रहा हूँ?
काम का बोझ
हमारे पास एक तृतीय पक्ष एप्लिकेशन है जिसका उपयोग हम स्टॉक ट्रेडिंग गतिविधि की निगरानी के लिए करते हैं। दिन के दौरान, बहुत से छोटे परिवर्तन होते हैं जैसे कि विभिन्न कार्य प्रवाह का हिस्सा (हां, यह व्यापार वैध था। नहीं, यह संदिग्ध है, आदि)। रात में, हम बड़े सेट आधारित ऑपरेशन करते हैं (पिछले दिन के ट्रेडों को लोड करते हैं)।
वर्तमान समाधान और समस्या
हम डेटाबेस स्नैपशॉट का उपयोग करते हैं । रात 10 बजे हम ड्रॉपशॉट लेते हैं और स्नैपशॉट को फिर से बनाते हैं। ETL प्रसंस्करण तब शुरू होता है। यह स्पष्ट रूप से हमारी डिस्क पर कर लगा रहा है लेकिन हमारे उपयोगकर्ताओं को डेटाबेस को लॉक किए बिना डेटाबेस को क्वेरी करने की क्षमता देता है (वे एक एक्सेस फ्रंट एंड का उपयोग करते हैं)। वे इसे देर रात और सुबह का उपयोग करते हैं, इसलिए वे डाउनटाइम को नोटिस करेंगे।
इस दृष्टिकोण के साथ समस्या दो गुना है। पहला यह है कि इस घटना में रात का प्रसंस्करण विफल हो जाता है, और यह बहुत असामान्य नहीं है, हम डेटाबेस को पुनर्स्थापित करने के लिए प्राप्त करते हैं जिसके परिणामस्वरूप स्नैपशॉट को गिरा दिया जाता है। दूसरी समस्या यह है कि हमारे प्रसंस्करण समय हमारे SLA से पिछले हैं। हम खराब लिखित प्रश्नों और अनुक्रमण की कमी की पहचान करने के बाद विक्रेता के साथ काम करके इसे संबोधित करने का प्रयास कर रहे हैं। डेटाबेस स्नैपशॉट भी इस मंदी में एक अपराधी है क्योंकि गति अंतर से इसका सबूत है जब यह मौजूद नहीं है --- चौंकाने वाला, मुझे पता है।
दृष्टिकोण पर विचार किया
क्लस्टरिंग
हमारे पास डेटाबेस क्लस्टरिंग चालू था लेकिन यह डेटा उपलब्ध कराने की जरूरतों को पूरा नहीं करता था और आमतौर पर व्यवस्थापक के जीवन को जटिल बनाता था। इसके बाद से इसे बंद कर दिया गया।
SQL सर्वर प्रतिकृति
हमने पिछले हफ्ते प्रतिकृति को देखना शुरू किया । हमारा सिद्धांत यह है कि हम एक दूसरी सूची प्राप्त कर सकते हैं और उत्पादन डेटाबेस के साथ सिंक्रनाइज़ किया जा सकता है। ETL की शुरुआत से पहले, हम कनेक्शन को बदल देंगे और ETL प्रक्रिया पूरी होने के बाद ही इसे फिर से सक्षम करेंगे।
इस व्यवस्थापन की शुरुआत स्नैपशॉट प्रतिकृति के साथ हुई थी, लेकिन उन्हें चिंता है कि स्नैपशॉट उत्पन्न करने के लिए और साथ ही डिस्क खपत के लिए कई दिनों के उच्च CPU उपयोग की आवश्यकता है। वह इंगित करता है कि यह सब डेटा को भौतिक फ़ाइलों को लिखने से पहले ग्राहक को कभी भी शिपिंग करने के लिए लिखता है, इसलिए हमारे .6 टीबी डेटाबेस में स्टोरेज लागत 1.8TB होगी। इसके अलावा, अगर स्नैप तैयार करने में कई दिन लगेंगे, तो यह वांछित SLA में फिट नहीं होगा।
ठीक लेख को पढ़ने के बाद, ऐसा लगता है कि स्नैपशॉट ग्राहकों को शुरू करने का तरीका हो सकता है लेकिन फिर हम इसे बाद में सिंक में रखने के लिए लेन-देन प्रतिकृति पर स्विच करना चाहते हैं । मैं मानता हूं कि लेन-देन की प्रतिकृति को चालू / बंद करना पूर्ण-पुनर्संरचना को मजबूर नहीं करेगा? अन्यथा, हम अपना समय खिड़की से उड़ा देंगे
डेटाबेस मिररिंग
हमारा डेटाबेस पूर्ण पुनर्प्राप्ति मोड में है, इसलिए डेटाबेस मिररिंग एक विकल्प है, लेकिन मैं इसके बारे में प्रतिकृति से भी कम जानता हूं। मुझे एसओ का जवाब मिला कि "डेटाबेस मिररिंग डेटा को सीधे एक्सेस करने से रोकता है, मिरर किए गए डेटा केवल डेटाबेस स्नैपशॉट के माध्यम से ही पहुंच योग्य हैं।"
शिपिंग लॉग करें
ऐसा लगता है कि लॉग शिपिंग भी एक विकल्प हो सकता है लेकिन यह उन चीजों में से एक है जिनके बारे में मुझे कुछ नहीं पता है। क्या यह किसी और चीज की तुलना में कम लागत वाला समाधान (कार्यान्वयन और रखरखाव) होगा? रेमुस की टिप्पणी के आधार पर "लॉग शिपिंग केवल प्रतिकृति प्रतिलिपि को रीड-ओनली एक्सेस की अनुमति देता है, लेकिन प्राप्त अगले बैकअप लॉग को लागू करते समय सभी उपयोगकर्ताओं को डिस्कनेक्ट कर देगा (उदाहरण के लिए हर 15-30 मिनट)।" मुझे यकीन नहीं है कि यह डाउनटाइम कब तक तब्दील हो जाएगा जिससे उपयोगकर्ताओं को कुछ परेशानी हो सकती है।
एमएस सिंक
मैंने केवल पिछले सप्ताहांत के सिंक का उपयोग करने के बारे में सुना है और अभी तक इसकी जांच नहीं की है। मुझे इस समस्या जैसी उच्च दृश्यता के साथ कुछ के लिए एक नई तकनीक शुरू करने से नफरत है, लेकिन अगर यह सबसे अच्छा तरीका है, तो यह हो।
लघु उद्योगों
हम यहाँ बहुत सारे SSIS करते हैं इसलिए माध्यमिक सिंक्रनाइज़ रखने के लिए कुछ सौ SSIS पैकेज तैयार करना हमारे लिए एक विकल्प है, भले ही बदसूरत हो । मैं ऐसा करने का प्रशंसक नहीं हूं, क्योंकि मैं बहुत अधिक रखरखाव कर रहा हूं, बल्कि मैं चाहता हूं कि मेरी टीम आगे न बढ़े।
सैन "जादू" स्नैपशॉट
अतीत में, मैंने अपने एडमिन के बारे में सुना है कि कुछ SAN तकनीक का उपयोग करके संपूर्ण डिस्क का तत्काल बैकअप बनाया जाता है। शायद कुछ ईएमसी जादू है जिसका उपयोग mdf / ldf की uberquick प्रतियां बनाने के लिए किया जा सकता है और हम लक्ष्य डेटाबेस को अलग / संलग्न कर सकते हैं।
बैकअप और पुनर्स्थापना
मुझे लगता है कि हम सप्ताह में एक बार पूर्ण बैकअप लेते हैं, रात में अंतर करते हैं और हर 15 मिनट में टॉगल करते हैं। यदि उपयोगकर्ता पूर्ण पुनर्स्थापना के लिए 3-4 घंटे के आउटेज के साथ रह सकते हैं, तो मुझे लगता है कि यह एक दृष्टिकोण हो सकता है।
प्रतिबन्ध
Windows 2008 R2, SQL Server 2008 R2 (एंटरप्राइज़ संस्करण), VMWare v5 एंटरप्राइज़ संस्करण, EMC SAN स्टोरेज विथ ड्राइव ड्राइव मैप्ड टू वीएमडीके फाइल्स, कॉम्प्लेक्ट हैंडलिंग बैकअप और सोर्स कैटलॉग में .6TB डेटा। यह एक तृतीय-पक्ष एप्लिकेशन है जिसे हम इन-हाउस होस्ट करते हैं। उनकी संरचना को संशोधित करना आम तौर पर पर आधारित है। उपयोगकर्ता डेटाबेस को क्वेरी किए बिना नहीं जा सकते हैं और अपने काम को करने के लिए निगरानी रखने वाले तालिकाओं की पहचान करने से विवश होने से इनकार करते हैं।
हमारे डीबीए इस समय विशुद्ध रूप से ठेकेदार हैं। पूर्ण-टाइमर ने पाल स्थापित कर दिया है और हमने उन्हें अभी तक प्रतिस्थापित नहीं किया है। एप्लिकेशन व्यवस्थापक SQL सर्वर मामलों पर अच्छी तरह से वाकिफ नहीं हैं और हमारे पास भंडारण / वीएम व्यवस्थापक की एक टीम है जो इस प्रयास में मदद / बाधा डाल सकती है। विकास दल वर्तमान में शामिल नहीं हैं, लेकिन दृष्टिकोण के आधार पर सूचीबद्ध किया जा सकता है। तो समाधान को लागू करने और बनाए रखने के लिए एक सरल बेहतर होगा।
मुझे, मैं विकास के पक्ष में हूं इसलिए मैं केवल दृष्टिकोण का प्रस्ताव रख सकता हूं और चीजों के प्रशासन के पक्ष से नहीं निपटना चाहिए। इसलिए व्यवस्थापक काठी में कोई समय नहीं है, मुझे यह कहने में संकोच है कि एक दृष्टिकोण दूसरे से बेहतर होगा --- यह सभी कागजात के अनुसार बहुत अच्छा लग रहा है। मैं किसी भी दिशा को चलाने के लिए पूरी तरह से तैयार हूं, क्योंकि मैं इसे देखता हूं, क्योंकि यह केवल मुझे एक डीबी पेशेवर के रूप में अधिक मूल्यवान बनाने जा रहा है। मेरे पास एक व्हीलब्रो है, लेकिन कोई होलोकॉस्ट क्लोक उपलब्ध नहीं है ।
संबंधित सवाल
/programming/525637/what-are-the-scenarios-for-using-mirroring-log-shipping-replication-and-cluste
/programming/4303020/sync-databases-mirroring-replication-log-shipping
/programming/4303020/sync-databases-mirroring-replication-log-shipping
http://nilebride.wordpress.com/2011/07/24/log-shipping-vs-mirroring-vs-replication/
संपादित करता
@ Onpnt के सवालों के जवाब के लिए
डेटा विलंबता स्वीकृति
उपयोगकर्ता वर्तमान में 24 घंटे तक के डेटा को देखते हैं। डेटा केवल 2200 के रूप में वर्तमान है
किसी दिए गए मिनट, घंटे और दिन में डेटा परिवर्तन की मात्रा निश्चित नहीं है कि इसे कैसे निर्धारित किया जाए। व्यापार घंटे, शायद प्रति घंटे सैकड़ों परिवर्तन। रात्रिकालीन प्रसंस्करण, प्रति दिन लाखों पंक्तियाँ
माध्यमिक से कनेक्टिविटी
आंतरिक नेटवर्क, अलग आभासी मेजबान और समर्पित भंडारण
माध्यमिक उदाहरण पर आवश्यकताओं को पढ़ें
विंडोज़ समूह में माध्यमिक, सभी तालिकाओं तक पहुंच होगी
द्वितीयक उदाहरण का समय
अप-टाइम आवश्यकता की कोई मजबूत परिभाषा नहीं है। उपयोगकर्ता इसे हमेशा उपलब्ध चाहते हैं लेकिन क्या वे इसके लिए भुगतान करने को तैयार हैं, शायद इतना नहीं। वास्तविक रूप से, मैं कहूंगा कि दिन के 23 घंटे पर्याप्त होंगे।
मौजूदा स्कीमा और सभी वस्तुओं में परिवर्तन
तालिका के ऑब्जेक्ट्स के लिए शायद एक बार प्रति तिमाही संशोधन। कोड वस्तुओं के लिए प्रति माह एक बार हो सकता है।
सुरक्षा
कोई विशेष सुरक्षा की जरूरत नहीं है। उत्पादन अनुमतियाँ प्रतिलिपि की अनुमतियों से मेल खाएँगी। हालांकि जैसा कि मैं इसके बारे में सोचता हूं, हम उपयोगकर्ताओं को ठेस पहुंच के बारे में पढ़ सकते हैं और केवल उन्हें कॉपी पढ़ने की अनुमति दे सकते हैं ... हालांकि एक आवश्यकता नहीं है।
@darin स्ट्रेट
स्नैपशॉट पर वापस लौटना एक विकल्प हो सकता है लेकिन मुझे लगता है कि कुछ कारण थे जो उन्होंने इसे आगे नहीं बढ़ाया। मैं व्यवस्थापक से जाँच करूँगा
@cfradenburg
मेरी धारणा यह थी कि हम केवल इन तरीकों में से एक का उपयोग करेंगे, लेकिन यह एक अच्छी बात है कि पुनर्स्थापना "अन्य" सिंक प्रौद्योगिकियों को तोड़ देगी। वे EMC स्नैपशॉट जादू का उपयोग करते हुए जांच कर रहे हैं। जैसा कि व्यवस्थापक ने वर्णन किया है, वे 1900 पर एक स्नैपशॉट लेंगे और छवि को द्वितीयक क्षेत्र में स्थानांतरित कर देंगे। यह 2200 तक पूरा होना चाहिए और फिर वे सेकेंडरी डेटाबेस का एक अलग और रीटच प्रदर्शन करेंगे।
लपेटें
2012-10-29 हमने ईएमसी स्नैपशॉट जादू और कुछ अन्य प्रतिकृति विकल्पों का मूल्यांकन किया लेकिन डीबीए ने फैसला किया कि वे मिररिंग का सबसे अच्छा पता लगा सकते हैं। उत्तरों को उलझा दिया क्योंकि उन्होंने सभी की मदद की और मुझे बहुत सारे विकल्प दिए और साथ ही साथ "होमवर्क" की भी जाँच करने के लिए दिया।