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