मल्टी-डेटासेंटर (या मल्टी-डीसी) सेटअप के मुख्य लक्ष्य - चाहे डेटाबेस इकोसिस्टम SQL (PostgreSQL, MySQL) हो, या NoSQL (MongoDB, Cassandra) कुछ ही नाम रखने के लिए - अंतिम उपयोगकर्ताओं के लिए कम विलंबता है, उच्च उपलब्धता, और आपदा वसूली। इस तरह के वातावरण के केंद्र में डेटा को दोहराने की क्षमता निहित है, जो इसके स्थायित्व को सुनिश्चित करता है (एक साइड नोट के रूप में कैसेंड्रा के स्थायित्व कॉन्फ़िगरेशन पैरामीटर पोस्टग्रेएसक्यूएल द्वारा उपयोग किए जाने वाले समान हैं)। विभिन्न प्रतिकृति आवश्यकताओं पर नीचे चर्चा की जाएगी, हालांकि, चरम मामलों को आगे के शोध के लिए जिज्ञासु पर छोड़ दिया जाएगा।
एसिंक्रोनस लॉग शिपिंग का उपयोग करते हुए प्रतिकृति लंबे समय से PostgreSQL में उपलब्ध है, और संस्करण 9.1 में पेश की गई सिंक्रोनस प्रतिकृति ने PostgreSQL प्रबंधन टूल के डेवलपर्स के लिए विकल्पों का एक नया सेट खोल दिया है।
विचार करने योग्य बातें
PostgreSQL मल्टी-डीसी कार्यान्वयन की जटिलता को समझने का एक तरीका अन्य डेटाबेस सिस्टम के लिए लागू किए गए समाधानों से सीखना है, जबकि यह ध्यान में रखते हुए कि PostgreSQL ACID के अनुरूप होने पर जोर देता है।
एक मल्टी-डीसी सेटअप में ज्यादातर मामलों में क्लाउड में कम से कम एक डाटासेंटर शामिल होता है। जबकि क्लाउड प्रदाता अपने ग्राहकों की ओर से डेटाबेस प्रतिकृति के प्रबंधन का भार उठाते हैं, वे आमतौर पर विशेष प्रबंधन टूल में उपलब्ध सुविधाओं से मेल नहीं खाते हैं। उदाहरण के लिए, हाइब्रिड क्लाउड और/या मल्टी-क्लाउड समाधानों को अपनाने वाले कई उद्यमों के साथ, उनके मौजूदा ऑन-प्रिमाइसेस इंफ्रास्ट्रक्चर के अलावा, एक मल्टी-डीसी टूल ऐसे मिश्रित वातावरण को संभालने में सक्षम होना चाहिए।
इसके अलावा, एक विफलता के दौरान डाउनटाइम को कम करने के लिए, PostgreSQL प्रबंधन प्रणाली को एक DNS अपडेट का अनुरोध (एपीआई कॉल के माध्यम से) करने में सक्षम होना चाहिए, इसलिए डेटाबेस अनुरोध नए मास्टर क्लस्टर में रूट किए जाते हैं।
बड़े भौगोलिक क्षेत्रों में फैले नेटवर्क उच्च विलंबता कनेक्शन हैं और सभी समाधानों को समझौता करना चाहिए:सिंक्रोनस प्रतिकृति के बारे में भूल जाओ, और कई पढ़ने वाली प्रतिकृतियों के साथ एक प्राथमिक का उपयोग करें। प्रतिकृति पर नेटवर्क प्रभावों के गहन विश्लेषण के लिए एडब्ल्यूएस मोंगोडीबी और सेवेनाइन्स/गैलेरा क्लस्टर अध्ययन देखें। संबंधित नोट पर, स्थानों के बीच विलंबता का परीक्षण करने के लिए एक निफ्टी उपकरण वंडर नेटवर्क पिंग सांख्यिकी है।
जबकि WAN की उच्च विलंबता प्रकृति को बदला नहीं जा सकता है, यह सुनिश्चित करके उपयोगकर्ता अनुभव में नाटकीय रूप से सुधार किया जा सकता है कि उपयोगकर्ता स्थान के करीब रीड-रेप्लिका से पढ़ा जाता है, हालांकि कुछ चेतावनी के साथ। प्रतिकृतियों को प्राथमिक से दूर ले जाने से, लेखन में देरी होती है और इस प्रकार हमें तुल्यकालिक प्रतिकृति को दूर करना चाहिए। समाधान अन्य मुद्दों के आसपास भी काम करने में सक्षम होना चाहिए जैसे कि पढ़ने के बाद-लिखने-संगति और कनेक्शन हानि के कारण पुरानी माध्यमिक पठन।
आरटीओ को कम करने के लिए, डेटा को एक टिकाऊ भंडारण में दोहराया जाना चाहिए जो उच्च रीड थ्रूपुट प्रदान करने में भी सक्षम हो, और साइटस डेटा के अनुसार उन आवश्यकताओं को पूरा करने वाला एक विकल्प एडब्ल्यूएस एस 3 है।
एकाधिक डेटा केंद्र की धारणा का तात्पर्य है कि डेटाबेस प्रबंधन प्रणाली को सभी डेटा केंद्रों और उनके भीतर विभिन्न पोस्टग्रेएसक्यूएल क्लस्टर के वैश्विक दृष्टिकोण के साथ डीबीए प्रस्तुत करने में सक्षम होना चाहिए, पोस्टग्रेएसक्यूएल के कई संस्करणों का प्रबंधन करना चाहिए, और उनके बीच प्रतिकृति को कॉन्फ़िगर करना चाहिए।पी>
क्षेत्रीय डेटा केंद्रों को लिखते समय, प्रसार विलंब की निगरानी की जानी चाहिए। यदि विलंब एक सीमा से अधिक है, तो एक अलार्म ट्रिगर किया जाना चाहिए जो दर्शाता है कि प्रतिकृति में पुराना डेटा है। एसिंक्रोनस मल्टी-मास्टर प्रतिकृति पर भी यही सिद्धांत लागू होता है।
एक सिंक्रोनस सेटअप में, उच्च विलंबता, या नेटवर्क व्यवधानों के कारण ग्राहक अनुरोधों को पूरा करने में देरी हो सकती है, जबकि एसिंक्रोनस कॉन्फ़िगरेशन में विस्तारित अवधि के लिए स्प्लिट-ब्रेन, या खराब प्रदर्शन के जोखिम होते हैं। स्प्लिट-ब्रेन और सिंक्रोनस कमिट्स पर देरी अपरिहार्य है, यहां तक कि अच्छी तरह से स्थापित प्रतिकृति समाधानों के साथ भी, जैसा कि गैलेरा के साथ जियो-डिस्ट्रिब्यूटेड डेटाबेस क्लस्टर्स लेख में बताया गया है।
एक अन्य विचार विक्रेता समर्थन है - इस लेखन के रूप में AWS PostgreSQL क्रॉस-क्षेत्र प्रतिकृतियों का समर्थन नहीं करता है।
बुद्धिमान प्रबंधन प्रणालियों को डेटा केंद्रों के बीच नेटवर्क विलंबता की निगरानी करनी चाहिए और परिवर्तनों की सिफारिश या समायोजन करना चाहिए उदा। एडब्ल्यूएस उपलब्धता क्षेत्रों के बीच सिंक्रोनस प्रतिकृति पूरी तरह से ठीक है जहां फाइबर नेटवर्क का उपयोग करके डेटा केंद्र जुड़े हुए हैं। इस तरह एक समाधान शून्य डेटा हानि प्राप्त कर सकता है और यह लोड संतुलन के साथ मास्टर-मास्टर प्रतिकृति को भी लागू कर सकता है। ध्यान दें कि AWS Aurora PostgreSQL वर्तमान में मास्टर-मास्टर प्रतिकृति विकल्प प्रदान नहीं करता है।
प्रतिकृति के स्तर पर निर्णय लें:क्लस्टर, डेटाबेस, तालिका। निर्णय मानदंड में बैंडविड्थ लागत शामिल होनी चाहिए।
नेटवर्क व्यवधानों के आसपास काम करने के लिए कैस्केड प्रतिकृति को लागू करें जो प्रतिकृतियों को भौगोलिक दूरी के कारण मास्टर से अपडेट प्राप्त करने से रोक सकता है।
समाधान
सभी आवश्यकताओं को ध्यान में रखते हुए उन उत्पादों की पहचान करें जो नौकरी के लिए सबसे उपयुक्त हैं। हालांकि सावधानी का एक नोट:प्रत्येक समाधान अपने स्वयं के चेतावनी के साथ आता है जिसे उत्पाद दस्तावेज में सिफारिशों का पालन करके निपटाया जाना चाहिए। उदाहरण के लिए देखें बीडीआर निगरानी आवश्यकता।
PostgreSQL आधिकारिक दस्तावेज़ीकरण में गैर-व्यावसायिक ओपन सोर्स अनुप्रयोगों की एक सूची है, और वाणिज्यिक बंद स्रोत समाधानों सहित एक विस्तृत सूची प्रतिकृति, क्लस्टरिंग और कनेक्शन पूलिंग विकी पृष्ठ पर पाई जा सकती है। उनमें से कुछ टूल की समीक्षा पोस्टग्रेएसक्यूएल आलेख के लिए शीर्ष पीजी क्लस्टरिंग एचए समाधान में अधिक विस्तार से की गई है।
कोई टर्नकी समाधान नहीं है, लेकिन कुछ उत्पाद विशेष रूप से विक्रेता के साथ काम करते समय अधिकांश सुविधाएं प्रदान कर सकते हैं।
यहां एक गैर-विस्तृत सूची है:
- साइटस डेटा अपने स्वयं के पोस्टग्रेएसक्यूएल बिल्ड प्रदान करता है, जो प्रभावशाली उद्यम सुविधाओं और एडब्ल्यूएस के साथ गहन एकीकरण के साथ बढ़ाया जाता है।
- EnterpriseDB सेवाओं का एक बड़ा सूट प्रदान करता है जिसे अधिकांश आवश्यकताओं को पूरा करने के लिए जोड़ा जा सकता है। ज़्यादातर जानकारी उत्पाद दस्तावेज़ीकरण पर है।
- Postgres-BDR एक शक्तिशाली प्रतिकृति उपकरण है जिसे विशेष रूप से भौगोलिक रूप से वितरित समूहों के लिए डिज़ाइन किया गया है, हालांकि यह किसी भी क्लाउड प्रदाता के साथ एकीकृत नहीं होता है।
- ClusterControl एक प्रभावशाली फीचर सेट के साथ आता है- PostgreSQL के प्रबंधन के लिए। इसमें सीमित क्लाउड एकीकरण भी है।
- ElephantSQL कई क्लाउड प्रदाताओं में काम करता है। हालांकि, ऑन-प्रिमाइसेस सेटअप के लिए कोई विकल्प नहीं है।
- कुबेरनेट्स के लिए कुरकुरे पोस्टग्रेएसक्यूएल अपस्ट्रीम पोस्टग्रेएसक्यूएल पर निर्मित क्लाउड अज्ञेयवादी उत्पाद है।
निष्कर्ष
जैसा कि हमने देखा, जब पोस्टग्रेएसक्यूएल मल्टी-डेटासेंटर समाधान चुनने की बात आती है, तो सभी समाधान एक-आकार फिट नहीं होते हैं। अक्सर समझौता करना बहुत जरूरी होता है। हालांकि, आवश्यकताओं और निहितार्थों की एक अच्छी समझ एक सूचित निर्णय लेने में एक लंबा रास्ता तय कर सकती है।
स्थिर (केवल पढ़ने के लिए) डेटा की तुलना में, डेटाबेस के लिए एक समाधान को अद्यतनों (लिखने) की प्रतिकृति पर विचार करने की आवश्यकता होती है। एसक्यूएल और नोएसक्यूएल प्रतिकृति समाधानों का वर्णन करने वाला साहित्य कई प्रतिकृतियों के साथ लिखने के लिए सत्य के एकल स्रोत का उपयोग करने पर जोर देता है ताकि विभाजित-मस्तिष्क, और पढ़ने-बाद-लिखने की स्थिरता जैसे मुद्दों से बचा जा सके।
अंत में, इंटरऑपरेबिलिटी एक महत्वपूर्ण आवश्यकता है, यह देखते हुए कि मल्टी-डीसी सेटअप आधार पर स्थित डेटा केंद्रों और विभिन्न क्लाउड प्रदाताओं तक फैल सकता है।