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 תוך יום אחד ממועד ההפעלה.