משתמשים בתוכנית Blaze יכולים להגדיר את Firebase Realtime Database לגיבוי אוטומטי. זוהי תכונה בשירות עצמי שמאפשרת גיבוי יומי של נתוני האפליקציה של מסד הנתונים ושל הכללים בפורמט JSON לקטגוריה Cloud Storage.
הגדרה
כדי להתחיל, נכנסים לכרטיסייה 'גיבויים' שבקטע 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.
לאחר מכן מזינים את הטקסט הבא במסוף, מחליפים את השדות 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 יום לאחסון.