SQL सर्वर प्रतिकृति को लागू करने के लिए कौन से उद्देश्य कारक इंगित करते हैं?


11

मैं अपने डेटाबेस के उच्च प्रदर्शन और रखरखाव में आसानी के बीच संतुलन बनाने की कोशिश कर रहा हूं। हम अपने SSRS रिपोर्ट को हमारे लेन-देन डेटाबेस से शारीरिक रूप से अलग डेटाबेस की प्रतिकृति बनाकर, प्रदर्शन में सुधार के लिए प्रतिकृति का उपयोग करने पर विचार कर रहे हैं। हालाँकि, प्रतिकृति को सक्षम करने से डेवलपर की दृष्टि से कई कमियां हैं:

  • यह स्कीमा परिवर्तन को और अधिक कठिन बनाता है
  • यह हमारे स्वचालित एकीकरण / बिल्ड सर्वर के साथ हस्तक्षेप करता है
  • ऐसा लगता है कि SQL स्रोत नियंत्रण को लागू करना मुश्किल है

मेरा सवाल है : जब आप जानते हैं कि इन कमियों के प्रकाश में प्रतिकृति के साथ जाने का समय है? आप कैसे तय करते हैं कि अतिरिक्त जटिलता लाभ को सही ठहराती है या नहीं?

हमने इसका उपयोग किया है इसलिए इसे स्थापित करने से पहले कोई समस्या नहीं है। यह निर्णय लेने या न करने, इसे सक्षम करने के बारे में अधिक है। मैं कुछ ऑब्जेक्ट प्रदर्शन मेट्रिक्स की तलाश कर रहा हूं जो दूसरों ने प्रतिकृति के साथ देखे हैं।

बेशक सबसे अच्छी बात यह होगी कि हम अपने सर्वर पर कुछ सिम्युलेटेड लोड टेस्टिंग करें और खुद इसका पता लगाएँ, लेकिन मुझे उम्मीद है कि वहाँ कुछ सामान्य दिशा-निर्देश हैं।


1
आप कैसे तय करते हैं कि अतिरिक्त जटिलता लाभ प्राप्त करती है? केवल आप ही इसका जवाब दे सकते हैं! हर किसी की स्थिति अलग होती है ....

लेकिन मुझे कैसे पता चलेगा कि जब तक मैंने इसे पहले ही सेट नहीं किया है, तब तक क्या लाभ होगा? मुझे लगता है कि सवाल है। क्या कोई प्रदर्शन मेट्रिक्स हैं?

जवाबों:


2

आवेदन के डिजाइन चरण के दौरान प्रतिकृति पर विचार किया जाना चाहिए। यदि आपके पास भौगोलिक रूप से वितरित कार्यबल / उपयोगकर्ताबेस है, तो क्षेत्रीय डेटाबेस और केंद्रीय डेटाबेस होने से समझ में आ सकता है। लैपटॉप पर डिस्कनेक्ट किए गए डेटाबेस "नेटवर्क सिंक्रनाइज़" कर सकते हैं जब वे अंत में नेटवर्क के साथ फिर से कनेक्ट होते हैं (सड़क पर बिक्री कर्मचारी सोचते हैं)।

रिपोर्टिंग उद्देश्यों के लिए, प्रतिकृति उत्तर नहीं है। रिपोर्टिंग परिवेश में अधिकांश प्रदर्शन समस्याएँ इस तथ्य से होती हैं कि रिपोर्ट्स को ऑनलाइन ट्रांजेक्शन प्रोसेसिंग (OLTP) के लिए कॉन्फ़िगर किए गए सिस्टम के विरुद्ध लिखा जा रहा है।

रिपोर्टिंग उद्देश्यों के लिए प्रतिकृति केवल आपके OLTP डेटा को किसी अन्य सर्वर पर ले जा रही है, लेकिन समान रिपोर्ट-अनफ्रेंडली संरचना को बनाए रख रही है। संक्षेप में, आप समस्या पर अधिक हार्डवेयर फेंक रहे हैं और अपनी रखरखाव लागत बढ़ा रहे हैं, लेकिन सीमांत लाभ के लिए।

आप जो देख रहे हैं वह यह होना चाहिए कि उन विशिष्ट डेटा को कैसे प्राप्त किया जाए जो आपकी रिपोर्ट की आवश्यकता है, और उन्हें एक अधिक उपयोगी प्रारूप में बदल दें। एक फ़ीड बनाएं जो आपके उत्पादन डेटाबेस से नए लेनदेन पकड़ता है और इसे रिपोर्टिंग डेटाबेस में संग्रहीत करता है, अधिमानतः एक अलग सर्वर पर। जब भी फ़ीड चलता है, उसे सभी डेटा को हड़पना चाहिए जो पिछली बार की तुलना में नया है, जो उस डेटा को परिवर्तित करता है, और उसे संग्रहीत करता है। वर्तमान में आपके द्वारा चलाए जा रहे रिपोर्ट आपको आवश्यक प्रकार के परिवर्तनों का एक अच्छा विचार देंगे।

इस दृष्टिकोण का पालन करके, आप प्रदर्शन के बड़े लाभों को प्राप्त करने जा रहे हैं।


1

इसके लायक क्या है, हमने प्रतिकृति को एक समान स्थिति में सहायक होने के लिए पाया है क्योंकि रिपोर्ट किए गए लेखक प्रतिकृति डेटाबेस पर अनुक्रमित "खुद" कर सकते हैं। इसने हमें इंडेक्स जोड़कर क्वेरी के प्रदर्शन को बेहतर बनाने की क्षमता दी है कि आवेदन डेवलपर्स ने INSERTS और UPDATES पर उनके नकारात्मक प्रभाव के कारण उत्पादन में कभी भी मंजूरी नहीं दी होगी।

हो सकता है कि आपके उपयोग के मामले का हिस्सा कुछ लेन-देन की तालिकाओं की नकल करना, कुछ अनुक्रमण को बदलना, और देखें कि क्या यह इसके लायक है?

उम्मीद है की यह मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.