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