Database
 sql >> डेटाबेस >  >> RDS >> Database

अनुयायी समूह - SQL और NoSQL परिनियोजन को सिंक करने के लिए 3 प्रमुख उपयोग के मामले

अनुवर्ती क्लस्टर एक स्केलग्रिड विशेषता है जो आपको दो स्वतंत्र डेटाबेस सिस्टम (एक ही प्रकार के) को सिंक में रखने की अनुमति देता है। क्लोनिंग या प्रतिकृति के विपरीत, यह आपको अपने उत्पादन डेटा की एक सक्रिय, पॉइंट-इन-टाइम कॉपी बनाए रखने की अनुमति देता है। फॉलोअर क्लस्टर के रूप में जाना जाने वाला यह अतिरिक्त क्लस्टर, MongoDB, MySQL और PostgreSQL के लिए आपके एप्लिकेशन प्रदर्शन का विश्लेषण, अनुकूलन और परीक्षण सहित कई उपयोग के मामलों के लिए लीवरेज किया जा सकता है। इस ब्लॉग पोस्ट में, हम आपके आवेदन के लिए अनुयायी समूहों का लाभ उठाने के लिए शीर्ष तीन परिदृश्यों को कवर करेंगे।

अनुयायियों के समूह प्रतिकृति से कैसे भिन्न होते हैं?

स्थिर क्लोन के विपरीत, यह डेटा एक निर्धारित समय पर आयात करता है ताकि आपका अनुयायी क्लस्टर हमेशा आपके उत्पादन क्लस्टर के साथ समन्वयित रहे। यहां कुछ महत्वपूर्ण तरीके दिए गए हैं जिनमें यह प्रतिकृति से अलग है:

  • आप नियंत्रित कर सकते हैं कि गंतव्य सिस्टम स्रोत से कितनी बार समन्वयित होता है - सप्ताह में एक बार, दिन में एक बार, या उससे भी कम बार। यह स्रोत सिस्टम पर लोड को कम करने में मदद करता है।
  • चूंकि वे दो स्वतंत्र प्रणालियां हैं, आपके पास सिंक किए गए डेटा पर बहुत अधिक लचीलापन है। आपके पास अलग-अलग उपयोगकर्ता क्रेडेंशियल हो सकते हैं और सुरक्षा आवश्यकताओं के आधार पर गंतव्य से कुछ डेटा भी हटा सकते हैं (नोट:इसके लिए उपयोगकर्ता-साइड स्क्रिप्टिंग की आवश्यकता होती है - यह अनुयायी समूहों की अंतर्निहित विशेषता नहीं है)।
  • अनुयायी' प्रणाली लिखने योग्य है, इसलिए आप इसे अपने आवेदन परिवर्तनों का परीक्षण करने के लिए एक मंचन वातावरण के रूप में उपयोग कर सकते हैं। यह ऐसा कुछ नहीं है जो आप एक रेप्लिका नोड पर कर सकते हैं।

नोट:स्केलग्रिड स्टोरेज स्नैपशॉट का उपयोग करके फॉलोअर क्लस्टर्स को लागू करता है। यह हमारे इन-मेमोरी डेटाबेस पेशकशों जैसे Redis™* के लिए होस्टिंग के लिए उपलब्ध नहीं है।

1. डेटाबेस देव/परीक्षण सेटअप

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

एप्लिकेशन प्रोडक्शन और इंजीनियरिंग सेटअप पर अलग तरह से व्यवहार करता है।

दूसरे शब्दों में, हमने इसे "टेस्ट डेटा" पर टेस्ट किया। जो, जैसा कि यह पता चला है, उत्पादन डेटा जैसा कुछ नहीं था। बिल्कुल।

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

अर्थात, जब तक परीक्षण डेटा उत्पादन के साथ समन्वयित नहीं हो जाता है, तब तक यह एक अच्छा सन्निकटन नहीं रह जाता है। और हम वापस वर्ग एक पर आ गए हैं।

यह वह जगह है जहां अनुयायी समूह आते हैं।

अनुयायी समूहों का उपयोग करके, आप समय-समय पर अपने उत्पादन डेटाबेस से डेटा को dev/test डेटाबेस में आयात कर सकते हैं। और चूंकि संपूर्ण आयात तार्किक डंप के बजाय स्टोरेज स्नैपशॉट का उपयोग करके किया जाता है, इसलिए प्रक्रिया लगभग तात्कालिक है। आप अपने आयात को हर 24 घंटे में एक बार, सप्ताह में एक बार, या जो भी आवृत्ति आपके विशेष परिदृश्य के अनुकूल हो, शेड्यूल कर सकते हैं।

उत्पादन क्लस्टर का अनुसरण करने के लिए आपके विकास और QA समूहों के साथ, आप आराम कर सकते हैं। यदि आपका एप्लिकेशन परीक्षण डेटासेट पर पास हो जाता है, तो यह निश्चित रूप से उत्पादन में परिनियोजित करने के लिए उपयुक्त है!

2. डेटा एनालिटिक्स

यदि आपने एक DBA के रूप में काम किया है, तो संभवतः आपने अपनी टीम के साथ सिस्टम प्रदर्शन "रहस्यमय ढंग से" निश्चित समय पर धीमा होने के बारे में बातचीत की है। ज्यादातर मामलों में, अपराधी एक एनालिटिक्स जॉब बन जाता है जो टन डेटा तक पहुंच रहा है और पूरे सिस्टम को धीमा कर देता है।

DBaaS विक्रेता के रूप में, हमने अपने ग्राहकों के साथ कई बार यह बातचीत की है। यहाँ दो विकल्प हैं जो हम आम तौर पर सुझाते हैं:

  • अगर एनालिटिक्स का काम प्राइमरी/मास्टर सर्वर पर चल रहा है, तो इसे सेकेंडरी/रेप्लिका सर्वर पर ले जाएं।
  • यदि विश्लेषण कार्य पहले से ही द्वितीयक नोड पर चल रहा है, और प्रदर्शन में गिरावट अस्वीकार्य है, तो हम कार्य को एक समर्पित विश्लेषण क्लस्टर में ले जाने की अनुशंसा करते हैं।

हमारे फॉलोअर क्लस्टर फीचर का उपयोग करके, एनालिटिक्स क्लस्टर को वास्तविक उत्पादन डेटा के साथ अप-टू-डेट रखना बहुत आसान है। आप अपना विश्लेषण कार्य शुरू होने से ठीक पहले उत्पादन से नवीनतम डेटा को सिंक करने के लिए एक अनुयायी शेड्यूल बना सकते हैं।

सबसे अच्छी बात? फॉलोअर सिंकिंग कोई डेटाबेस स्तर का संचालन नहीं करता है - यह केवल नवीनतम स्नैपशॉट को पुनर्स्थापित करता है! इसलिए, आपके उत्पादन क्लस्टर पर शून्य प्रभाव पड़ता है।

3. रिपोर्टिंग

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

चूंकि रिपोर्टिंग ऑपरेशन बहुत कम होते हैं, इसलिए हमारे कई ग्राहक रिपोर्टिंग क्लस्टर को 'रोकें' करने के लिए हमारे पॉज/रिज्यूम फीचर का लाभ उठाना पसंद करते हैं, जब वे उपयोग में नहीं होते हैं। यह बुनियादी ढांचे की लागत पर बड़े पैमाने पर बचत करने में मदद करता है। आमतौर पर, रिपोर्टिंग क्लस्टर लागत कम करने में मदद करने के लिए बहुत "छोटे" (कम CPU/RAM) होते हैं।

हमारे UI से एक अनुयायी क्लस्टर बनाने के बाद, आप अपने रिपोर्टिंग प्रवाह को स्वचालित करने के लिए इस वर्कफ़्लो का उपयोग कर सकते हैं:

  1. क्लस्टर को फिर से शुरू करने के लिए हमारे रिज्यूम एपीआई का उपयोग करें।
  2. क्लस्टर के वापस चालू अवस्था में आने तक प्रतीक्षा करें (आप इस उद्देश्य के लिए अपने गेट-स्टेटस एपीआई का उपयोग कर सकते हैं)।
  3. यदि आवश्यक हो तो अपने उत्पादन क्लस्टर पर एक बैकअप ट्रिगर करें (आमतौर पर, यदि आपके उत्पादन पर नियमित बैकअप शेड्यूल किए गए हैं, तो आप इस चरण को छोड़ सकते हैं। हालांकि, यदि आप चाहते हैं कि आपकी रिपोर्टिंग नवीनतम डेटा पर चले, तो यह आवश्यक है)।
  4. बैकअप पूरा होने की प्रतीक्षा करें।
  5. अनुयायी पर एक सिंक कार्य ट्रिगर करें - यह स्रोत क्लस्टर पर नवीनतम स्नैपशॉट ढूंढता है और गंतव्य पर पुनर्स्थापित करता है।
  6. समन्वयन कार्य पूरा होने की प्रतीक्षा करें।
  7. अपने रिपोर्टिंग कार्य चलाएँ।
  8. अपने अगले रिपोर्टिंग कार्य तक क्लस्टर को रोकने के लिए हमारे पॉज़ एपीआई का उपयोग करें!

क्या आपको लगता है कि आपके विशेष उपयोगकर्ता मामले के लिए अनुयायी समूह उपयुक्त हैं? आप हमारे सहायता दस्तावेज़ों में MongoDB, MySQL और PostgreSQL के लिए अनुयायी समूहों को तैनात और प्रबंधित करने के तरीके के बारे में सब कुछ सीख सकते हैं!

यदि आप इस बारे में अनिश्चित हैं कि क्या आपके उपयोग के मामले के लिए अनुयायी समूह सही समाधान हैं, तो एक टिप्पणी छोड़ें या [email protected] पर हमसे संपर्क करें - हम यह चर्चा करने में प्रसन्नता हो रही है कि कौन सी सुविधा आपकी आवश्यकताओं के लिए सबसे उपयुक्त है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ई-कॉमर्स के लिए डेटाबेस मॉडल भाग 1:न्यूज़लेटर

  2. बुरी आदतें :चाबियाँ चुनते समय केवल डिस्क स्थान पर ध्यान केंद्रित करना

  3. डीबीएमएस ट्यूटोरियल:डीबीएमएस पर एक पूर्ण क्रैश कोर्स

  4. एक्लिप्स आईडीई में जावा 9 के साथ एक मॉड्यूल विकसित करना, भाग 2

  5. अनुक्रमित दृश्य और सांख्यिकी