משתמשים בתוכנית Blaze יכולים להגדיר את Firebase Realtime Database לגיבוי אוטומטי. זוהי תכונה בשירות עצמי שמאפשרת גיבוי יומי של נתוני האפליקציה של מסד הנתונים ושל הכללים בפורמט JSON לקטגוריה Cloud Storage.
הגדרה
כדי להתחיל, עוברים אל הכרטיסייה Backups בקטע Database במסוף Firebase, והאשף ינחה אתכם להגדיר את הגיבויים האוטומטיים.
כדי לחסוך בעלויות האחסון, אנחנו מפעילים דחיסת Gzip כברירת מחדל, ואפשר להפעיל בקטגוריה מדיניות מחזור חיים של 30 יום כדי שגיבויים שנוצרו לפני יותר מ-30 יום יימחקו באופן אוטומטי.
אפשר לראות את הסטטוס ואת פעילות הגיבוי ישירות במסוף Firebase, שבו אפשר גם להתחיל גיבוי ידני. האפשרות הזו יכולה להיות שימושית לצילום תמונות מצב מתוזמנות ספציפיות או כפעולת בטיחות לפני ביצוע שינויים בקוד.
לאחר ההגדרה, המערכת תיצור בשבילכם קטגוריה חדשה של Cloud Storage עם הרשאת כתיבה ב-Firebase. אל תאחסנו בקטגוריה הזו נתונים שלא מרגישים בנוח אם יש ל-Firebase גישה אליהם. ל-Firebase לא תהיה גישה נוספת לקטגוריות Cloud Storage אחרות או לאזורים אחרים ב-Google Cloud.
מתבצע שחזור מגיבויים
כדי לשחזר את Firebase מגיבוי, קודם צריך להוריד את הקובץ מ-Cloud Storage לדיסק המקומי. כדי לעשות זאת, לוחצים על שם הקובץ בקטע של פעילות הגיבוי או בממשק של הקטגוריה Cloud Storage. אם הקובץ דחוס באמצעות Gzip, צריך קודם לבטל את הדחיסה שלו.
יש שתי דרכים לייבא את הנתונים:
שיטה 1: לוחצים על הלחצן Import JSON (ייבוא JSON) בקטע Data (נתונים) של מסד הנתונים ובוחרים את קובץ ה-JSON של נתוני האפליקציה.
שיטה 2: אפשר גם לשלוח בקשת 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 כדי לחסוך בעלויות האחסון ולקצר את זמני ההעברה. גודל הקובץ הדחוס משתנה בהתאם למאפייני הנתונים של מסד הנתונים, אבל מסדי נתונים רגילים עשויים להתכווץ ל-⅓ מהגודל המקורי שלהם, וכך לחסוך בעלויות האחסון ולקצר את זמן ההעלאה של הגיבויים.
כדי לבצע דחיסה לאחור של קובצי JSON בפורמט Gzip, נותנים פקודת שורת פקודה באמצעות הקובץ הבינארי 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 יום לאחסון.