النسخ الاحتياطية التلقائية

يمكن لمستخدمي خطة Blaze إعداد قاعدة بيانات Firebase في الوقت الفعلي للاحتفاظ بالنُسخ الاحتياطية التلقائية، وهي ميزة ذاتية الخدمة تتيح إمكانية الاحتفاظ بنسخ احتياطية بشكل يومي من بيانات تطبيق قاعدة البيانات والقواعد بتنسيق JSON إلى حزمة Cloud Storage.

الإعداد

للبدء، انتقِل إلى علامة تبويب "النُسخ الاحتياطية" في قسم "قاعدة البيانات" ضمن وحدة تحكُّم Firebase، وسيرشدك المعالج خلال عملية إعداد النُسخ الاحتياطية المبرمَجة.

للتوفير في تكاليف التخزين، نفعّل ضغط Gzip تلقائيًا، ويمكنك اختيار تفعيل سياسة مراحل النشاط خلال 30 يومًا في الحزمة ليتم تلقائيًا حذف النُسخ الاحتياطية التي مرّ عليها أكثر من 30 يومًا.

يمكنك عرض الحالة ونشاط النسخ الاحتياطي مباشرةً في وحدة تحكم Firebase حيث يمكنك أيضًا بدء الاحتفاظ بنسخة احتياطية يدويًا. ويمكن الاستفادة من ذلك في أخذ لقطات محددة بوقت أو كإجراء أمني قبل إجراء أي تغييرات على الرمز.

بعد الإعداد، سيتم إنشاء حزمة جديدة لك على Cloud Storage تتضمّن إذن "WRITER" (الكتابة) لمنصة Firebase. يجب ألا تخزن أي بيانات في هذه الحزمة إذا اعتقدت أنك لا تريد السماح بوصول Firebase إليها. لن يتمكن Firebase من الوصول بشكل إضافي إلى حزم Cloud Storage الأخرى أو أي مناطق أخرى في Google Cloud.

الاستعادة من النسخ الاحتياطية

لاستعادة بيانات Firebase من نسخة احتياطية، يجب أولاً تنزيل الملف من Cloud Storage إلى القرص المحلي. ويمكن إجراء ذلك من خلال النقر على اسم الملف ضمن قسم نشاط الاحتفاظ بنسخة احتياطية أو من واجهة حزمة Cloud Storage. إذا كان الملف مضغوطًا بتنسيق Gzip، فعليك أولاً فك ضغط الملف.

هناك طريقتان لاستيراد بياناتك:

الطريقة 1: انقر على الزر "استيراد 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 لتوفير تكاليف التخزين وتقليل أوقات النقل. يختلف حجم الملف المضغوط بناءً على خصائص البيانات في قاعدة البيانات، ولكن قد تتقلص قواعد البيانات النموذجية إلى 1⁄3 حجمها الأصلي، مما يوفر لك تكاليف التخزين ويقلل من وقت تحميل النسخ الاحتياطية.

لفك ضغط ملفات JSON في Gzipped، يمكنك إصدار أمر سطر أوامر باستخدام برنامج gunzip الثنائي الذي يتم شحنه تلقائيًا إلى نظام التشغيل OS-X ومعظم عمليات توزيع Linux.

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

مساحة التخزين خلال 30 يومًا

نقدّم مفتاح تبديل سهل الاستخدام للإعدادات يتيح استخدام سياسة تلقائية لمراحل نشاط العناصر تبلغ 30 يومًا لحزمة Cloud Storage. عند تفعيل هذا الإعداد، سيتم تلقائيًا حذف الملفات في الحزمة بعد 30 يومًا. يساعد ذلك في تقليل النُسخ الاحتياطية القديمة غير المرغوب فيها وتوفير تكاليف التخزين والحفاظ على دليل الحزمة. إذا وضعت ملفات أخرى في حزمة "النُسخ الاحتياطية التلقائية"، سيتم حذفها أيضًا وفقًا للسياسة نفسها.

التكاليف

يمكن تفعيل ميزة النُسخ الاحتياطية للمشاريع ضمن خطة Blaze بدون أي تكلفة إضافية. ومع ذلك، سيتم تحصيل الرسوم منك بالأسعار العادية لملفات النسخة الاحتياطية المحفوظة في حزمة Cloud Storage. يمكنك تفعيل ضغط Gzip ومساحة التخزين لمدة 30 يومًا لتقليل تكاليف مساحة التخزين.