סקירה כללית בנושא שחזור מנקודת זמן (PITR)

Cloud Firestore שחזור לנקודת זמן מסוימת (PITR) מספק הגנה מפני מחיקה או כתיבת נתונים בטעות. PITR שומר גרסאות של המסמכים שלכם מתאריכי חותמת זמן קודמים. לדוגמה, אם מפתח דוחף נתונים שגויים, מבצע מחיקה או כתיבת בטעות, אפשר לשחזר את הנתונים בנקודת זמן בעבר (עד 7 ימים לכל היותר) בצורה חלקה באמצעות PITR.

בכל מסד נתונים פעיל שתואם לשיטות המומלצות, השימוש ב-PITR לא משפיע על הביצועים של קריאות או כתיבה.

חלון PITR

אחרי שמפעילים את PITR, Cloud Firestore מתחיל לשמור נתוני PITR. נתוני PITR נשמרים למשך 7 ימים בחלון PITR.

אפשר לקרוא נתונים של חותמת זמן לפי המועד שבו ה-PITR הופעל:

סטטוס ההפעלה של PITR נתוני PITR המוקדם ביותר שזמינים
מושבת שעה לפני מועד הקריאה של בקשת הקריאה
הפעלה תוך 7 ימים שעה אחת לפני הפעלת PITR
הופעל לפני יותר מ-7 ימים 7 ימים לפני מועד שליחת בקשת הקריאה

בחלון ה-PITR נשמרת גרסה אחת לדקה. אפשר לקרוא מסמכים ברמת פירוט של דקה באמצעות חותמת זמן של דקה שלמה. קריאות שלא מתבצעות ברמת פירוט של דקה, למשל 2023-05-30 09:00:00.1234AM, יחזירו הודעת שגיאה על כך ש-read_time ישן מדי.

רק גרסה אחת של המסמך נשמרת במקרה של מספר הודעות כתיבה. לדוגמה, אם במסמך היו כמה פעולות כתיבה בטווח v1, v2, ... vk בין חותמת הזמן 2023-05-30 09:00:00AM (לא כולל) לבין חותמת הזמן 2023-05-30 09:01:00AM (כולל), בקשת קריאה בחותמת הזמן 2023-05-30 09:01:00AM תחזיר את הגרסה vk של המסמך.

אפשר לקרוא מהנתונים שנוצרו במהלך חלון ה-PITR. הנתונים מאוחסנים ברמת פירוט דקה ואפשר לשחזר אותם באותה רמת פירוט. Cloud Firestore התכונה PITR מושבתת כברירת מחדל.

השדה earliestVersionTime במסד הנתונים מציין את מועד הקריאה המוקדם ביותר שאפשר לקרוא את הנתונים.

לא משנה אם התכונה PITR מופעלת או לא, אפשר לקרוא (אבל לא לייצא) מסמכים לפי חותמת זמן ברמת מיקרו-שנייה במהלך השעה האחרונה, אבל לא לפני earliestVersionTime.

דרכים לשחזור הנתונים

יש שתי דרכים לשחזור נתונים:

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

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

תמחור

לפני שמפעילים את PITR במסד הנתונים, כדאי להביא בחשבון את פרטי התמחור הבאים:

  • אחסון: Cloud Firestore מודד את גודל מסד הנתונים מדי יום. במהלך חודש, נלקח הממוצע של נקודות הדגימה האלה כדי לחשב את נפח האחסון של מסד הנתונים. הערך הממוצע הזה מוכפל במחיר ליחידה של PITR (GB-month). מידע נוסף זמין במאמר תמחור אחסון.

    לאחסון ב-PITR אין רמת חברות ללא תשלום וצריך להפעיל את החיוב אם אתם רוצים להשתמש ב-PITR.

  • חיוב ב-Compute: כל שאילתות שתבצעו במהלך חלון ה-PITR של 7 ימים, באמצעות קריאות לא עדכניות או ייצוא, יגרמו לעלויות של פעולות קריאה על סמך מספר המסמכים שקראתם. למידע נוסף, ראו תמחור.

  • חיוב מינימלי: יכול להיות שתחויבו בעלות האחסון של PITR ליום אחד, גם אם תשביתו את PITR תוך יום אחד ממועד ההפעלה.

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