मूल रूप से 6 फरवरी, 2020 को ObjectRocket.com/blog पर प्रकाशित
नियमित बैकअप और उन्हें पुनर्स्थापित करने की क्षमता डेटाबेस सिस्टम प्रशासन का एक महत्वपूर्ण हिस्सा है। ObjectRocket, एक Rackspace Technology कंपनी, में, हम अपने सभी डेटाबेस उत्पादों पर डिफ़ॉल्ट रूप से दो-सप्ताह प्रतिधारण के साथ दैनिक बैकअप प्रदान करते हैं।
हमारा PostgreSQL® प्रस्ताव एक बोनस जोड़ता है जिसमें राइट अहेड लॉग (WAL) आर्काइविंग और हमारी प्रतिधारण विंडो के भीतर किसी भी समय पुनर्स्थापित करने की क्षमता शामिल है। हम आमतौर पर इसे पॉइंट-इन-टाइम रिकवरी (PITR) कहते हैं, और यह पोस्ट आपको बताती है कि यह हमारी सेवा पर कैसे काम करता है।
बिना झंझट के बैकअप
एक प्रमुख घटक पूरी तरह से स्वचालित बैकअप प्रक्रिया है। सभी इंस्टेंस की लागत में दैनिक बैकअप शामिल हैं, और हम हर समय दो सप्ताह के बैकअप बनाए रखते हैं। आप अपने बैकअप समय और उनकी स्थिति को हमारे डैशबोर्ड में या उपयोगकर्ता इंटरफ़ेस (UI) का उपयोग करके देख सकते हैं।
एकाधिक पुनर्स्थापना विकल्प
हम बैकअप पुनर्स्थापित करने के कई विकल्प प्रदान करते हैं:
- सबसे हाल के संग्रहीत WAL अपडेट पर पुनर्स्थापित करें।
- एक विशिष्ट बेस बैकअप पर पुनर्स्थापित करें।
- समय के एक विशिष्ट बिंदु पर पुनर्स्थापित करें।
सभी मामलों में, हम आपके डेटा को एक नए PostgreSQL इंस्टेंस पर पुनर्स्थापित करते हैं। इस समय, इंस्टेंस स्टोरेज मूल इंस्टेंस पर स्टोरेज से अधिक या बराबर होना चाहिए। हम इसे डेटाबेस फोर्क कहते हैं। आदर्श रूप से, आपको अपने डेटा को एक नए और अलग डेटाबेस इंस्टेंस पर पुनर्स्थापित करना चाहिए, ताकि पुराने और नए दोनों इंस्टेंस तब तक सक्रिय रहें जब तक आप एक को हटा नहीं देते।
नोट: पुनर्स्थापना वर्तमान में केवल हमारे API के माध्यम से उजागर की जाती है। यदि आप API के साथ सहज हैं, तो बढ़िया। अन्यथा, हमारी सहायता टीम प्रक्रिया के माध्यम से आपकी मदद कर सकती है। हम जल्द ही UI में पुनर्स्थापना जोड़ने की योजना बना रहे हैं।
नवीनतम समय पर पुनर्स्थापित करें
आइए एक साधारण डेटाबेस का विश्लेषण करें जो हर मिनट एक टाइमस्टैम्प और एक क्रम संग्रहीत करता है, जो हमें बैकअप स्थान देखने की अनुमति देता है। हमारे डेटाबेस पर एक त्वरित नज़र डालते हुए, हम देखते हैं कि अंतिम टाइमस्टैम्प 16:00:58 (UTC) पर था।
यदि हम इस डेटाबेस में नवीनतम डेटा पर पुनर्स्थापित करना चाहते हैं, तो हम अपने स्रोत इंस्टेंस के इंस्टेंस id को एक नए इंस्टेंस क्रिएट कॉल में प्रदान करके ऐसा कर सकते हैं।
इंस्टेंस पुनर्स्थापित करने के बाद, हम कनेक्ट कर सकते हैं और अंतिम टाइमस्टैम्प की जांच कर सकते हैं।
जैसा कि आप देख सकते हैं, सभी डेटा वहां है, और हमारे पास एक नया Postgres इंस्टेंस है, जो स्रोत Postgres इंस्टेंस के साथ पूरी तरह से अद्यतन है। आप इस परिदृश्य का उपयोग वर्तमान डेटा से टेस्ट डेटाबेस बनाने के लिए कर सकते हैं ताकि मूल डेटा को प्रभावित किए बिना नई सुविधा के साथ प्रयोग किया जा सके।
किसी विशिष्ट बैकअप पर पुनर्स्थापित करें
दूसरा विकल्प बेस बैकअप से पुनर्स्थापित करना है। बैकअप सूचीबद्ध करते समय, प्रत्येक का अपना id होता है जिसका उपयोग हम पुनर्स्थापित करने के लिए कर सकते हैं:
पूर्ववर्ती बैकअप उदाहरण में, आप देखते हैं कि इसे 15:36:15 (UTC) पर लिया गया था। इस सटीक बैकअप पर पुनर्स्थापित करने के लिए, बस क्रिएट कॉल में बैकअप id जोड़ें।
इंस्टेंस लोड होने के बाद, हम देख सकते हैं कि बैकअप में 15:36:15 के बैकअप समय से पहले का डेटा और टाइमस्टैम्प हैं।
किसी विशिष्ट समय पर पुनर्स्थापित करें
अंतिम विधि केवल उस समय को निर्दिष्ट करना है जिससे आप पुनर्स्थापित करना चाहते हैं। स्रोत इंस्टेंस ID और पुनर्स्थापना समय प्रदान करके इसे पूरा करें:
यहां, हम 15:53:00 पर पुनर्स्थापित करना चाहते हैं। हमारा पुनर्स्थापना पूरा होने के बाद, आप देख सकते हैं कि डेटा केवल उस समय तक मौजूद है।
यदि आप पूर्ववर्ती छवियों को देखते हैं, तो आप देख सकते हैं कि हमारे पास 15:53:00 पर एक और टाइमस्टैम्प था, लेकिन वह टाइमस्टैम्प 15:53:00 के ठीक .8 सेकंड बाद हुआ था, इसलिए इंस्टेंस में यह शामिल नहीं होगा। आप पॉइंट इन टाइम रिकवरी के साथ अत्यंत बारीक हो सकते हैं ताकि डेटाबेस में एक समय और स्थिति को लक्षित किया जा सके।
आगे क्या?
वह सब बैकअप और पुनर्स्थापना कार्यक्षमता आज आपके उपयोग के लिए है। हालांकि, हम लगातार अधिक सुविधाएं और क्षमताएं जोड़ते हैं। अगर आपके कोई अनुरोध हैं तो हमें बताएं।
Rackspace Data Services के बारे में अधिक जानें।
कोई टिप्पणी करने या प्रश्न पूछने के लिए Feedback टैब का उपयोग करें। आप Sales Chat पर क्लिक करके अभी चैट कर सकते हैं और बातचीत शुरू कर सकते हैं।
Rackspace Cloud Terms of Service देखने के लिए यहां क्लिक करें।