גיבויים אוטומטיים

משתמשים בתוכנית Blaze יכולים להגדיר את Firebase Realtime Database לגיבוי אוטומטי. זוהי תכונה בשירות עצמי שמאפשרת גיבוי יומי של נתוני האפליקציה של מסד הנתונים ושל הכללים בפורמט JSON לקטגוריה Cloud Storage.

הגדרה

כדי להתחיל, עוברים לכרטיסייה Backups בקטע Database במסוף Firebase, והאשף ינחה אתכם להגדיר את הגיבויים האוטומטיים.

כדי לחסוך בעלויות האחסון, אנחנו מפעילים דחיסת Gzip כברירת מחדל, ואפשר להפעיל בקטגוריה מדיניות מחזור חיים של 30 יום כדי שגיבויים שנשמרו במשך יותר מ-30 יום יימחקו באופן אוטומטי.

אפשר לראות את הסטטוס ואת פעילות הגיבוי ישירות במסוף Firebase, שבו אפשר גם להתחיל גיבוי ידני. אפשר להשתמש באפשרות הזו כדי ליצור קובצי snapshot מתוזמנים ספציפיים, או כפעולת בטיחות לפני ביצוע שינויים בקוד.

לאחר ההגדרה, המערכת תיצור בשבילכם קטגוריה חדשה מסוג 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 יום לאחסון.