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

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

הגדרה

  1. במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) >‏ Realtime Database (מסד נתונים בזמן אמת).

  2. בכרטיסייה Backups, משתמשים בתהליך העבודה במסוף כדי להגדיר את הגיבויים האוטומטיים.

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

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

אחרי ההגדרה, תיצור בשבילכם קטגוריית Cloud Storage חדשה עם הרשאת WRITER ל-Firebase. לא מומלץ לאחסן בדלי הזה נתונים שאתם לא רוצים של-Firebase תהיה גישה אליהם. ל-Firebase לא תהיה גישה נוספת לדליים אחרים של Cloud Storage או לאזורים אחרים ב-Google Cloud.

שחזור מגיבויים

כדי לשחזר את Firebase מגיבוי, קודם צריך להוריד את הקובץ מ-Cloud Storage לדיסק המקומי. כדי לעשות את זה, לוחצים על שם הקובץ בקטע של פעילות הגיבוי או בממשק של מאגר Cloud Storage. אם הקובץ דחוס באמצעות Gzip, צריך קודם לבטל את הדחיסה של הקובץ.

יש שתי אפשרויות לייבוא הנתונים:

  • אפשרות 1: שימוש במסוף Firebase.

    1. עוברים אל Databases & Storage (מסדי נתונים ואחסון) > Realtime Database (מסד נתונים בזמן אמת) > הכרטיסייה Data (נתונים).

    2. לוחצים על ייבוא JSON ובוחרים את קובץ ה-JSON של נתוני האפליקציה.

  • אפשרות 2: מריצים בקשת CURL משורת הפקודה.

    1. מאחזרים סוד מ-Firebase, שאפשר לקבל אותו מDatabases & Storage > מסד נתונים בזמן אמת > Settings tab.

    2. מזינים את הפקודה הבאה במסוף, ומחליפים את השדות DATABASE_NAME ו-SECRET בערכים משלכם:

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

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

תזמון

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

מתן שמות לקבצים

לקבצים שמועברים לקטגוריית 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 ורוב הפצות הלינוקס.

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

מחזור חיים של אחסון למשך 30 יום

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

עלויות

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