अपने-आप बैकअप लिए जाने की सुविधा

Blaze प्लान के उपयोगकर्ता, Firebase Realtime Database के लिए ऑटोमैटिक बैकअप की सुविधा सेट अप कर सकते हैं. यह एक सेल्फ़-सर्विस सुविधा है. इसकी मदद से, Cloud Storage बकेट में JSON फ़ॉर्मैट में, डेटाबेस ऐप्लिकेशन के डेटा और Security Rules का रोज़ाना बैकअप लिया जा सकता है.

सेटअप

  1. Firebase console में, डेटाबेस और स्टोरेज > रियल टाइम डेटाबेस पर जाएं.

  2. बैकअप टैब में, ऑटोमेटेड बैकअप सेट अप करने के लिए, कंसोल में मौजूद वर्कफ़्लो का इस्तेमाल करें.

स्टोरेज की लागत बचाने के लिए, हम डिफ़ॉल्ट रूप से Gzip कंप्रेशन की सुविधा चालू रखते हैं. साथ ही, आपके पास अपनी बकेट पर 30 दिनों की लाइफ़साइकल नीति चालू करने का विकल्प होता है. इससे 30 दिनों से ज़्यादा पुराने बैकअप अपने-आप मिट जाते हैं.

Firebase console में, स्टेटस और बैकअप की गतिविधि सीधे देखी जा सकती है. यहां मैन्युअल तरीके से बैकअप भी लिया जा सकता है. यह सुविधा, तय समय पर स्नैपशॉट लेने या कोड में बदलाव करने से पहले सुरक्षा के तौर पर बैकअप लेने के लिए काम आ सकती है.

सेटअप पूरा होने के बाद, आपके लिए Firebase के लिए WRITER की अनुमति वाली एक नई Cloud Storage बकेट बनाई जाएगी. आपको इस बकेट में ऐसा डेटा सेव नहीं करना चाहिए जिसे Firebase को ऐक्सेस करने की अनुमति नहीं है. Firebase को आपकी अन्य Cloud Storage बकेट या Google Cloud के किसी अन्य हिस्से का ऐक्सेस नहीं मिलेगा.

बैकअप से डेटा वापस लाना

Firebase का डेटा, बैकअप से वापस लाने के लिए, पहले Cloud Storage से अपनी लोकल डिस्क पर फ़ाइल डाउनलोड करें. इसके लिए, बैकअप की गतिविधि वाले सेक्शन में फ़ाइल के नाम पर क्लिक करें या Cloud Storage बकेट के इंटरफ़ेस से फ़ाइल डाउनलोड करें. अगर फ़ाइल Gzip फ़ॉर्मैट में कंप्रेस की गई है, तो पहले उसे डीकंप्रेस करें.

आपके पास डेटा इंपोर्ट करने के दो विकल्प हैं:

  • पहला विकल्प: Firebase console का इस्तेमाल करना.

    1. डेटाबेस और स्टोरेज > रियल टाइम डेटाबेस > डेटा टैब पर जाएं.

    2. **JSON इंपोर्ट करें** पर क्लिक करें और अपने ऐप्लिकेशन के डेटा की JSON फ़ाइल चुनें.

  • दूसरा विकल्प: कमांड लाइन से CURL अनुरोध जारी करना.

    1. Firebase से कोई सीक्रेट वापस पाएं. यह कोड आपको डेटाबेस और स्टोरेज > रीयलटाइम डेटाबेस > सेटिंग टैब से मिल सकता है.

    2. अपने टर्मिनल में यह कोड डालें. साथ ही, DATABASE_NAME और SECRET फ़ील्ड में अपनी वैल्यू डालें:

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

अगर आपको बहुत बड़े डेटाबेस से बैकअप वापस लाने में समस्या आ रही है, Firebase की सहायता टीम से संपर्क करें.

शेड्यूल करें

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

फ़ाइल के नाम तय करना

आपकी Cloud Storage बकेट में ट्रांसफ़र की गई फ़ाइलों पर टाइमस्टैंप (ISO 8601 स्टैंडर्ड) लगाया जाएगा. साथ ही, इनके नाम तय करने के लिए, यहां दी गई कन्वेन्शन का इस्तेमाल किया जाएगा:

  • डेटाबेस का डेटा: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • डेटाबेस के नियम: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

अगर Gzip की सुविधा चालू है, तो फ़ाइल के नामों में .gz सफ़िक्स जोड़ा जाएगा. प्रीफ़िक्स के हिसाब से खोज करके, किसी खास तारीख या समय के बैकअप आसानी से ढूंढे जा सकते हैं.Cloud Storage

Gzip कंप्रेशन

स्टोरेज की लागत बचाने और ट्रांसफ़र में लगने वाला समय कम करने के लिए, हम डिफ़ॉल्ट रूप से Gzip कंप्रेशन का इस्तेमाल करके, आपकी बैकअप फ़ाइलों को कंप्रेस करते हैं. कंप्रेस की गई फ़ाइल का साइज़, आपके डेटाबेस की डेटा विशेषताओं के हिसाब से अलग-अलग हो सकता है. हालांकि, आम तौर पर डेटाबेस का साइज़, उसके ओरिजनल साइज़ के एक तिहाई तक कम हो सकता है. इससे स्टोरेज की लागत बचती है और बैकअप अपलोड करने में लगने वाला समय कम हो जाता है.

Gzip फ़ॉर्मैट में कंप्रेस की गई JSON फ़ाइलों को डीकंप्रेस करने के लिए, कमांड लाइन का इस्तेमाल करके gunzip बाइनरी का इस्तेमाल करें. यह बाइनरी, OS-X और ज़्यादातर Linux डिस्ट्रिब्यूशन के लिए डिफ़ॉल्ट रूप से उपलब्ध होती है.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

स्टोरेज की 30 दिनों की लाइफ़साइकल

हम एक ऐसा कॉन्फ़िगरेशन स्विच उपलब्ध कराते हैं जिसका इस्तेमाल करना आसान है. इससे आपकी Cloud Storage बकेट के लिए, डिफ़ॉल्ट रूप से 30 दिनों की ऑब्जेक्ट लाइफ़साइकल नीति चालू हो जाती है. यह नीति चालू होने पर, आपकी बकेट में मौजूद फ़ाइलें 30 दिनों के बाद अपने-आप मिट जाएंगी. इससे पुराने और काम के न रहने वाले बैकअप कम हो जाते हैं. साथ ही, स्टोरेज की लागत बचती है और आपकी बकेट की डायरेक्ट्री साफ़ रहती है. अगर आपने ऑटोमेटेड बैकअप वाली बकेट में अन्य फ़ाइलें सेव की हैं, तो वे भी इसी नीति के तहत मिट जाएंगी.

लागत

Blaze प्लान वाले प्रोजेक्ट के लिए, बैकअप की सुविधा बिना किसी अतिरिक्त शुल्क के चालू की जा सकती है. हालांकि, आपकी Cloud Storage बकेट में सेव की गई बैकअप फ़ाइलों के लिए, आपसे स्टैंडर्ड दरों के हिसाब से शुल्क लिया जाएगा. स्टोरेज की लागत कम करने के लिए, Gzip कंप्रेशन और स्टोरेज की 30 दिनों की लाइफ़साइकल नीति चालू की जा सकती है.