ביצוע שחזור במקום

רלוונטי למהדורות Firestore Standard ו-Firestore Enterprise.

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

שחזור במקום

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

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

ביצוע שחזור במקום

כדי לבצע שחזור במקום, פועלים לפי השלבים הבאים:

  1. מזהים את הגיבוי שבו רוצים להשתמש לפעולת השחזור.
  2. מוחקים את מסד הנתונים הקיים.
  3. כדי להשלים את פעולת השחזור, משתמשים בגיבוי ובמזהה של מסד הנתונים שנמחק.
זהירות: אם האפליקציה משתמשת בספריית לקוח של Cloud Firestore במצב Native, והלקוחות משתמשים במטמון אופליין, יכול להיות ששחזור במקום ימחק את פעולות הכתיבה למסד הנתונים המשוחזר במקום לבטל אותן. מצב כזה יכול לקרות אם הלקוח שמחובר למסד הנתונים שנמחק עובר למצב אופליין, ובזמן שהוא אופליין, המטמון צובר כתיבות בזמן שאתם מבצעים שחזור במקום.

לפני שמתחילים

מומלץ לבצע את השלבים הבאים לפני שמתחילים בתהליך השחזור במקום.

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

  • משתמשים ב-gcloud firestore indexes composite list כדי לאחזר רשימה של אינדקסים מורכבים:

        gcloud firestore indexes composite list --database=DATABASE_ID
    

    מחליפים את DATABASE_ID במזהה של מסד הנתונים.

  • כדי לאחזר רשימה של החרגות של אינדקסים לשדה יחיד (מובנים), משתמשים ב-gcloud firestore indexes fields list.

        gcloud firestore indexes fields list --database=DATABASE_ID
    

ביצוע שחזור במקום

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

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

  1. מריצים את הפקודה gcloud firestore backups list כדי לזהות את הגיבוי שבו רוצים להשתמש לפעולת השחזור, ורושמים את שם המשאב. הפורמט של שם המשאב הוא:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. משתמשים בפקודה gcloud firestore databases delete כדי למחוק את מסד הנתונים הקיים:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    מחליפים את DATABASE_ID במזהה מסד הנתונים.

  3. צריך להמתין לפחות 5 דקות אחרי מחיקת מסד הנתונים כדי שמזהה מסד הנתונים יהיה זמין שוב. מפעילים פעולת שחזור באמצעות הפקודה gcloud firestore databases restore:

    gcloud firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    מחליפים את DATABASE_ID במזהה מסד הנתונים.

המאמרים הבאים