בעבר, ב-Firestore במצב Datastore הייתה תמיכה בהפעלת Datastore Admin, מודול אופציונלי עם תכונות של מחיקה וגיבוי בכמות גדולה. הכלי Datastore Admin הוחלף בחלופות אמינות יותר:
- תכונת הגיבוי הוחלפה בייבוא וייצוא מנוהלים.
- התכונה 'מחיקה בכמות גדולה' הוחלפה בתבנית Bulk Delete Entities (מחיקת ישויות בכמות גדולה) ל-Dataflow.
גישה לכלי Datastore Admin
אם הפעלתם בעבר את Datastore Admin, תוכלו להמשיך לגשת למודול דרך https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, כאשר PROJECT_ID הוא המזהה של Google Cloud הפרויקט שלכם. אם תשביתו את Datastore Admin, לא תוכלו להפעיל מחדש את המודול.
הערות לגבי השימוש בתכונות של Datastore Admin
- יכול להיות שהעדכונים האחרונים לא ייכללו בפעולות של העתקה, מחיקה וגיבוי.
- כל הפעולות ב-Datastore Admin מתבצעות בתוך האפליקציה, ולכן הן נכללות במכסה.
- מומלץ מאוד להשבית את פעולות הכתיבה במהלך גיבוי או שחזור.
- במהלך פעולת העתקה או שחזור, ישויות קיימות עם אותם מפתחות יוחלפו. לא נוצרים עותקים כפולים אם מבצעים פעולות של העתקה או שחזור כמה פעמים. פעולות העתקה או שחזור לא מוחקות נתונים נוספים.
- אם משתמשים בתור שאינו ברירת המחדל לגיבוי או לשחזור, אפשר לציין רק את יעד
ah-builtin-python-bundleב-queue.yaml. אי אפשר להשתמש ביעדים אחרים.
הרשאות גישה למסד נתונים
כברירת מחדל, לאדמין של Datastore יש גישה למסד נתונים של Datastore באותו פרויקט, ולא נדרשות לו הרשאות של ניהול זהויות והרשאות גישה ל-Datastore.
גיבוי נתונים
כדי ליצור קובץ גיבוי לשחזור נתונים עתידי או לייצוא, צריך לפעול לפי השלבים הבאים.
אם עדיין לא עשיתם זאת, צרו קטגוריית אחסון לפרויקט. אפשר גם לבדוק שלחשבון השירות שמוגדר כברירת מחדל ב-App Engine בפרויקט יש גישה לקטגוריה דרך רשימה של בקרת גישה. יכול להיות שההגדרה הזו כבר מוגדרת כברירת מחדל, ואפשר לשנות אותה אם צריך.
בוחרים את סוגי הישויות שרוצים לגבות.
לוחצים על גיבוי ישויות כדי להציג את טופס הגיבוי.
שימו לב שמופיע שם גיבוי שכולל חותמת זמן.
אם אתם יוצרים יותר מגיבוי אחד ביום, אתם צריכים לשנות את הערך הזה, כי אם כבר קיים גיבוי עם אותו שם, לא ייווצר גיבוי חדש.
שימו לב: תור ברירת המחדל משמש לעבודת הגיבוי. ברוב המקרים אפשר להשתמש בו.
אם משתמשים בתור שאינו ברירת המחדל לגיבוי או לשחזור, אפשר לציין רק את יעד
ah-builtin-python-bundleב-queue.yaml. אי אפשר להשתמש ביעדים אחרים.בוחרים באפשרות Google Cloud Storage כמיקום אחסון הגיבוי.
כשבוחרים באפשרות Cloud Storage, מוצגת בקשה להזין את שם הקטגוריה שבה רוצים לאחסן את הגיבויים, בפורמט
[BUCKET_NAME]. אפשר גם לציין את שם הקטגוריה עם סיומת של מבנה ספריות, כמו[BUCKET_NAME]/backups/foo). אם התיקיות האלה לא קיימות, הן ייווצרו.כדי להתחיל את עבודות הגיבוי, לוחצים על Backup Entities (גיבוי ישויות). שימו לב שמוצג דף סטטוס של העבודה.

כדי לראות את סטטוס הגיבוי, לוחצים על Back to Datastore Admin (חזרה אל Datastore Admin).
אחרי שהגיבוי מסתיים, אם השבתתם את פעולות הכתיבה ב-Cloud Datastore, צריך להפעיל אותן מחדש.
שיקולים לגבי גיבוי ושחזור
תכונת הגיבוי והשחזור נועדה לעזור לכם לשחזר נתונים שנמחקו בטעות או לייצא נתונים. אתם יכולים לגבות את כל הישויות או רק את סוגי הישויות שבחרתם, ולשחזר מגיבוי כזה כשצריך.
הגיבויים נשמרים ב-Cloud Storage.
חשוב לזכור שהגיבוי לא מכיל אינדקסים. כשמשחזרים, המערכת בונה מחדש את האינדקסים הנדרשים באופן אוטומטי באמצעות הגדרות האינדקס שהועלו עם האפליקציה.
אפשר גם להשתמש בקובצי גיבוי כדי לייצא את הנתונים לשירותים אחרים של Google Cloud, כמו BigQuery.
במהלך שחזור, לא מוקצים מזהים חדשים לישויות. השחזורים משתמשים במזהים שהיו קיימים בזמן הגיבוי, ומחליפים כל ישות קיימת עם אותו מזהה. במהלך השחזור, המזהים שמורים בזמן שהישויות משוחזרות. הפעולה הזו אמורה למנוע התנגשויות של מזהים עם ישויות חדשות אם כתיבה מופעלת בזמן שהשחזור פועל. ישמרו ישויות חדשות שנוספו מאז הגיבוי.
אתם יכולים לשחזר את כל הנתונים מגיבוי, או לשחזר מגיבוי סוגים ספציפיים של ישויות. בנוסף, אתם יכולים להשתמש בתכונה הזו כדי לשחזר גיבוי של נתונים מאפליקציה אחת לאפליקציה אחרת, בתנאי שאתם משתמשים ב-Cloud Storage לגיבויים.
ביטול גיבוי
אם משימות הגיבוי פועלות כרגע, הן יופיעו ברשימה Pending Backups במסך Cloud Datastore Admin.
כדי להפסיק את הגיבויים הפעילים:
- פתיחת Datastore Admin
- בקטע Pending Backups, בוחרים את הגיבוי ברשימה ולוחצים על Abort.
כשמבטלים משימת גיבוי, App Engine מנסה למחוק את נתוני הגיבוי שנשמרו עד לנקודה הזו. עם זאת, במקרים מסוימים, יכול להיות שחלק מהקבצים יישארו אחרי הביטול. אפשר למצוא את הקבצים האלה במיקום שבחרתם לגיבויים ב-Google Cloud Storage, ולמחוק אותם בבטחה אחרי שהביטול יסתיים. השמות של קבצים כאלה מתחילים בדפוס הבא:
datastore_backup_[BUCKET_NAME].
חיפוש מידע על גיבוי
יכול להיות שתרצו לדעת פרטים על גיבוי, כמו אילו סוגי ישויות הוא מכיל, איפה הוא נשמר ב-Google Cloud Storage ומה שעת ההתחלה ושעת הסיום שלו. כדי להציג את פרטי הגיבוי:
- פתיחת Datastore Admin
- בוחרים גיבוי אחד או יותר ברשימה גיבויים או גיבויים בהמתנה.
- לוחצים על מידע כדי להציג את המידע על הגיבויים האלה.
- לוחצים על Back כדי לחזור למסך הניהול הראשי של Cloud Datastore.
שחזור נתונים
כדי לשחזר מגיבוי:
- (מומלץ) משביתים את פעולות הכתיבה ב-Cloud Datastore באפליקציה. בדרך כלל מומלץ לעשות את זה כדי למנוע התנגשויות בין השחזור לבין נתונים חדשים שנכתבים ב-Cloud Datastore.
- פתיחת Datastore Admin
- ברשימת הגיבויים הזמינים, בוחרים את הגיבוי שממנו רוצים לשחזר.
- לוחצים על שחזור.
- בדף ההמלצות שמוצג, שימו לב לרשימת הישויות עם תיבות הסימון. כברירת מחדל, כל הישויות ישוחזרו. מבטלים את הסימון של התיבה לצד כל ישות שלא רוצים לשחזר.
- בנוסף, בדף ההמלצות, שימו לב שהתור שמוגדר כברירת מחדל, עם הגדרות הביצועים שהוגדרו מראש, משמש לעבודת השחזור. אם אתם צריכים מאפייני ביצועים שונים של תור, אתם יכולים לשנות את התור הזה לתור אחר שהגדרתם באופן שונה. חשוב לוודא שבתור שנבחר לא מוגדר יעד ב-
queue.yamlמלבדah-builtin-python-bundle. - כדי להתחיל את השחזור, לוחצים על שחזור. שימו לב שמוצג דף סטטוס של העבודה.
- לוחצים על Back to Datastore Admin (חזרה אל Datastore Admin) כדי לראות את סטטוס השחזור.

- אחרי שהשחזור מסתיים, אם השבתתם את פעולות הכתיבה, צריך להפעיל מחדש את פעולות הכתיבה ב-Cloud Datastore באפליקציה.
שחזור נתונים באפליקציה אחרת
אם אתם מגבים את הנתונים באמצעות Google Cloud Storage, אתם יכולים לשחזר גיבויים לאפליקציות אחרות, ולא רק לאפליקציה שבה השתמשתם כדי ליצור את הגיבוי.
כדי לשחזר נתוני גיבוי מאפליקציית מקור לאפליקציית יעד:
יוצרים מדיניות של ניהול זהויות והרשאות גישה (IAM) בקטגוריית האחסון של אפליקציית המקור עם ההרשאה הבאה:
- חשבון משתמש: [PROJECT_ID]@appspot.gserviceaccount.com
- תפקידים:
Storage Legacy Bucket Readerו-Storage Legacy Object Reader
כאשר
[PROJECT_ID]הוא מזהה הפרויקט של אפליקציית היעד.יוצרים גיבוי חדש באפליקציית המקור.
(מומלץ) משביתים את הכתיבה ב-Cloud Datastore באפליקציית היעד כדי למנוע התנגשויות בין הנתונים ששוחזרו לבין נתונים חדשים שנכתבו ב-Cloud Datastore.
בתיבת הטקסט שליד הלחצן Import Backup Information (ייבוא פרטי הגיבוי), מציינים את קטגוריית המקור של האפליקציה שמכילה את הגיבוי, בפורמט
/gs/[BUCKET_NAME].
אפשרות נוספת היא לספק את שם הקובץ של גיבוי ספציפי: כדי לראות את שם הקובץ של גיבוי, פותחים את הדף אדמין של אפליקציית המקור, בוחרים את הגיבוי ולוחצים על מידע. שם הקובץ יופיע לצד התווית שם הקובץ.לוחצים על ייבוא פרטי הגיבוי.
בדף הבחירה שמוצג מופיעים הגיבויים הזמינים של קטגוריית ה-Bucket שציינתם, אלא אם ציינתם גיבוי לפי הכינוי שלו. בוחרים את הגיבוי הרצוי ולוחצים על אחת מהאפשרויות הבאות:- הוספה לרשימת הגיבויים אם רוצים שהגיבוי הזה יישמר ברשימת הגיבויים הזמינים לאפליקציה.
- שחזור מהגיבוי אם רוצים לשחזר מהגיבוי הזה אבל לא רוצים שהגיבוי יוצג ברשימת הגיבויים הזמינים לאפליקציה.
בדף ההמלצות שמוצג, שימו לב לרשימת הישויות עם תיבות הסימון. כברירת מחדל, כל הישויות ישוחזרו. מבטלים את הסימון של התיבה לצד כל ישות שלא רוצים לשחזר.
בנוסף, בדף ההמלצות, שימו לב שהתור שמוגדר כברירת מחדל, עם הגדרות הביצועים שהוגדרו מראש, משמש לעבודת השחזור. אם אתם צריכים מאפייני ביצועים שונים של תור, אתם יכולים לשנות את התור הזה לתור אחר שהגדרתם בצורה שונה.
כדי להתחיל את השחזור, לוחצים על שחזור. מוצג דף סטטוס של המשימה.
אחרי שהשחזור יסתיים, אם השבתתם את הכתיבה ב-Cloud Datastore, תפעילו אותה מחדש.
צפייה בשימוש במשאבים
גיבויים בתדירות גבוהה מאוד מובילים בדרך כלל לעלויות גבוהות יותר. כשמריצים משימה של Cloud Datastore Admin, מריצים בפועל משימת MapReduce בסיסית. משימות MapReduce גורמות לעלייה בשעות השימוש בשרת קצה (frontend instance), בנוסף לפעולות האחסון ולשימוש בנפח אחסון נדרש.
כדי לראות את השימוש במשאבים:
נכנסים לדף App Engine במסוף Google Cloud .
משתמשים בתפריטים הנפתחים בחלק העליון של הדף כדי לבחור את
defaultהשירות ואתah-builtin-python-bundleהגרסה.
הפעלה או השבתה של כתיבה למסד נתונים
בדרך כלל מומלץ להשבית את פעולות הכתיבה לפני שחזור. כך אפשר למנוע התנגשויות בין השחזור לבין נתונים חדשים שנכתבים במסד הנתונים.
השבתת פעולות כתיבה מונעת שינוי ישויות על ידי
- הכלי Datastore Viewer.
- אפליקציות שמשתמשות ב-Datastore API.
כדי להפעיל או להשבית פעולות כתיבה:
עוברים לדף אדמין.
לוחצים על הפעלת פעולות כתיבה כדי להפעיל פעולות כתיבה, או על השבתת פעולות כתיבה כדי להשבית אותן. הטקסט שמופיע על הכפתור משתנה בהתאם למצב הפרויקט.
צפייה בשימוש במשאבים של Datastore Admin
כשמריצים משימה של Datastore Admin, מריצים למעשה משימת MapReduce בסיסית. משימות MapReduce גורמות לעלייה בשעות השימוש בשרת הקצה בנוסף לפעולות אחסון ולנפח אחסון נדרש.
כדי לראות את השימוש במשאבים:
נכנסים לדף App Engine במסוף Google Cloud .
משתמשים בתפריטים הנפתחים בחלק העליון של הדף כדי לבחור את
defaultהשירות ואתah-builtin-python-bundleהגרסה.
השבתת גישת אדמין ל-Datastore
מריצים את הפקודה הבאה ומחליפים את
PROJECT_IDבמזהה הפרויקט: Google Cloudcurl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://appengine.googleapis.com/v1/apps/PROJECT_ID/services/default/versions/ah-builtin-python-bundle