שחזור לנקודת זמן (PITR) ב-Spanner מספק הגנה מפני מחיקה או כתיבה בשוגג. לדוגמה, אם מפעיל כותב נתונים בטעות או אם פריסת אפליקציה משחיתה את מסד הנתונים, בעזרת PITR אפשר לשחזר את הנתונים מנקודת זמן בעבר (עד שבעה ימים אחורה) בצורה חלקה. אם אתם צריכים לשמור את הנתונים לטווח ארוך יותר, אתם יכולים להשתמש באפשרות גיבוי ושחזור או באפשרות ייצוא וייבוא.
כברירת מחדל, מסד הנתונים שומר את כל הגרסאות של הנתונים והסכימה למשך שעה אחת. אפשר להגדיל את מגבלת הזמן הזו עד שבעה ימים באמצעות האפשרות version_retention_period. הוראות מפורטות מופיעות במאמר הגדרת תקופת השמירה.
ב-Spanner נשמרות גרסאות קודמות של הנתונים ברמת דיוק של מיקרו-שנייה, ובמסד הנתונים מתבצעת תחזוקה של earliest_version_time, שמייצג את הזמן המוקדם ביותר בעבר שבו אפשר לשחזר גרסאות קודמות של הנתונים.
דרכים לשחזור נתונים
יש שתי דרכים לשחזר נתונים:
כדי לשחזר חלק ממסד הנתונים, מבצעים קריאה בעבר, מציינים תנאי שאילתה וחותמת זמן בעבר, ואז כותבים את התוצאות בחזרה למסד הנתונים הפעיל. בדרך כלל משתמשים באפשרות הזו לפעולות כירורגיות במסד נתונים פעיל. לדוגמה, אם מוחקים בטעות שורה מסוימת או מעדכנים באופן שגוי קבוצת משנה של נתונים, אפשר לשחזר אותם באמצעות השיטה הזו. הוראות מפורטות מופיעות במאמר שחזור חלק ממסד הנתונים.
כדי לשחזר את כל מסד הנתונים, צריך לגבות או לייצא את מסד הנתונים עם חותמת זמן מהעבר, ואז לשחזר או לייבא אותו למסד נתונים חדש. בדרך כלל משתמשים באפשרות הזו כדי לשחזר נתונים שנפגמו, כשצריך להחזיר את מסד הנתונים לנקודת זמן לפני שהנזק התרחש. שימו לב: גיבוי או ייצוא של מסד נתונים יכולים להימשך כמה שעות, ואי אפשר לשחזר או לייבא למסד נתונים קיים. הוראות מפורטות מופיעות במאמר בנושא שחזור של מסד הנתונים כולו.
שיקולי ביצועים
מסדי נתונים עם תקופות שמירה ארוכות יותר, ובמיוחד כאלה שכותבים נתונים על נתונים קיימים בתדירות גבוהה, צורכים יותר משאבי מערכת. זה יכול להשפיע על הביצועים של מסד הנתונים, במיוחד אם לא הקציתם מספיק קיבולת חישוב למופע. אם מסד הנתונים שלכם כולל שיעור גבוה מאוד של החלפת נתונים (לדוגמה, אם הנתונים במסד הנתונים מוחלפים כמה פעמים ביום), כדאי להגדיל את תקופת השמירה בהדרגה ולעקוב אחרי המערכת. כמה דברים שחשוב לדעת:
ניצול גבוה יותר של נפח האחסון. מומלץ להגדיר התראות על אחסון כדי לוודא שלא תחרגו ממגבלת האחסון. כשמאריכים את תקופת השמירה, חשוב לזכור שנפח אחסון נדרש יגדל בהדרגה ככל שגרסאות קודמות של הנתונים יצטברו במסד הנתונים. הסיבה לכך היא שהנתונים הישנים שהתוקף שלהם היה אמור לפוג במסגרת תקופת השמירה הקודמת, כבר לא בתוקף. לדוגמה, אם הגדלתם את תקופת השמירה מ-3 ימים ל-7 ימים, תצטרכו להמתין 4 ימים עד שנפח האחסון הנדרש במסד הנתונים יתייצב. אנחנו מספקים גם הוראות להערכת הגידול בנפח האחסון.
שימוש מוגבר ב-CPU וזמן אחזור ארוך יותר. Spanner משתמש במשאבי מחשוב נוספים כדי לדחוס ולתחזק גרסאות קודמות של נתונים. עוקבים אחרי המכונה ומסד הנתונים כדי לוודא שהחביון וניצול המעבד (CPU) נשארים ברמות מקובלות.
הזמן שנדרש לביצוע עדכוני סכימה התארך. תקופת שמירה ארוכה יותר פירושה שצריך לשמור גרסאות סכימה למשך תקופות ארוכות יותר, מה שעלול לגרום לעדכוני סכימה להיות
throttledבזמן ההמתנה למשאבי שרת. חשוב לפעול לפי השיטות המומלצות לעדכוני סכימה ולעמוד במגבלות לעדכוני סכימה.
תמחור
השימוש ב-PITR לא כרוך בתשלום נוסף. עם זאת, אם תגדילו את תקופת השמירה של גרסאות מסד הנתונים מעבר לשעה אחת (ברירת המחדל), יכול להיות שעלויות האחסון והקיבולת החישובית של מסד הנתונים יגדלו. העלות של גיבוי לפי דרישה לא מושפעת כי רק גרסה אחת של מסד הנתונים מאוחסנת. מידע נוסף זמין בקטע שיקולים לגבי הביצועים. לפני שמגדילים את תקופת השמירה של גרסה של מסד נתונים, אפשר להעריך את הגידול הצפוי בנפח האחסון של מסד הנתונים.
מידע כללי על החיוב ב-Spanner זמין במאמר בנושא תמחור ב-Spanner.