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

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

सेटअप

शुरू करने के लिए, Firebase कंसोल के डेटाबेस सेक्शन में बैकअप टैब पर जाएं. इसके बाद, अपने-आप बैकअप लेने की सुविधा सेट अप करने के लिए, विज़र्ड आपकी मदद करेगा.

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

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

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

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

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

डेटा इंपोर्ट करने के दो तरीके हैं:

पहला तरीका: डेटाबेस के डेटा सेक्शन में, 'JSON इंपोर्ट करें' बटन पर क्लिक करें. इसके बाद, अपने ऐप्लिकेशन का डेटा JSON फ़ाइल चुनें.

दूसरा तरीका: कमांड लाइन से भी CURL अनुरोध किया जा सकता है.

सबसे पहले, अपने Firebase से कोई सीक्रेट पाएं. इसे पाने के लिए, डेटाबेस सेटिंग पेज पर जाएं.

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

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

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

शेड्यूल करें

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

फ़ाइल को नाम देना

आपकी 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 कंप्रेसन का इस्तेमाल करके आपकी बैकअप फ़ाइलों को कंप्रेस करते हैं. इससे, स्टोरेज के खर्च में बचत होती है और डेटा ट्रांसफ़र में लगने वाला समय कम होता है. कंप्रेस किए गए डेटा का साइज़, आपके डेटाबेस के डेटा की विशेषताओं के आधार पर अलग-अलग होता है. हालांकि, सामान्य डेटाबेस के साइज़ में ⅓ की कमी आ सकती है. इससे, आपको स्टोरेज के लिए कम पैसे चुकाने पड़ते हैं और बैकअप अपलोड करने में कम समय लगता है.

Gzipped 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 compression और 30 दिन का स्टोरेज लाइफ़साइकल चालू किया जा सकता है.