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

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

अपनी 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 दिन की लाइफ़साइकल सुविधा को चालू किया जा सकता है.