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

يمكن لمستخدمي خطة Blaze إعداد Firebase Realtime Database لإجراء عمليات احتياطية تلقائية، وهي ميزة ذاتية الخدمة تتيح إجراء عمليات احتياطية يومية لبيانات تطبيق قاعدة البيانات والقواعد بتنسيق 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 لبيانات التطبيق.

الطريقة 2: يمكنك أيضًا إصدار طلب CURL من سطر الأوامر.

عليك أولاً استرداد سرّ من Firebase، ويمكنك الحصول عليه من خلال الانتقال إلى صفحة إعدادات قاعدة البيانات.

بعد ذلك، أدخِل ما يلي في نافذة الأوامر، مع استبدال الحقلَين DATABASE_NAME وSECRET بقيمك الخاصة:

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

إذا كنت تواجه مشكلة في استعادة نسخة احتياطية من قاعدة بيانات كبيرة جدًا، يُرجى التواصل مع فريق الدعم.

الجدولة

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

تسمية الملفات

ستتم إضافة طابع زمني (معيار ISO 8601) إلى الملفات التي يتم نقلها إلى حزمة Cloud Storage، وسيتم استخدام قواعد التسمية التالية:

  • بيانات قاعدة البيانات: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • قواعد قاعدة البيانات: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

في حال تفعيل Gzip، ستتم إضافة اللاحقة .gz إلى أسماء الملفات. يمكنك العثور على النسخ الاحتياطية من تاريخ أو وقت محدّدَين بسهولة باستخدام Cloud Storageالبحث بالبادئة.

ضغط Gzip

نضغط تلقائيًا ملفات النسخ الاحتياطي باستخدام ضغط Gzip لتوفير تكاليف التخزين وتقليل أوقات النقل. يختلف حجم الملف المضغوط حسب خصائص البيانات في قاعدة البيانات، ولكن قد يتقلّص حجم قواعد البيانات النموذجية إلى ثلث حجمها الأصلي، ما يوفّر لك تكاليف التخزين ويقلّل من وقت تحميل النسخ الاحتياطية.

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

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

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

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

التكاليف

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