מידע על שמירת נתונים ב-RDB

בדף הזה מוסבר על שמירת נתונים במסד נתונים של Redis‏ (RDB) ב-Memorystore for Redis Cluster.

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

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

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

שמירת נתונים ב-RDB לא מוסיפה עלות נוספת לחיוב. התכונה הזו מתאימה לתרחישים שבהם אתם יכולים לקבל מידה קטנה של חוסר עדכניות בנתונים אחרי השחזור. מכיוון ש-Memorystore for Redis Cluster משתמש בתמונות מצב לשחזור אוטומטי, תמונות המצב לא זמינות לשחזורים ידניים. בנוסף, ב-Memorystore for Redis Cluster נשמרת רק תמונת המצב האחרונה.

ב-Memorystore for Redis Cluster יש גם תמיכה בשמירת נתונים ב-AOF, אבל צריך לבחור בין שמירת נתונים ב-AOF לבין שמירת נתונים ב-RDB. אי אפשר להפעיל את שני מצבי השמירה בו-זמנית. למידע נוסף על בחירה בין מצבי ההתמדה, ראו סקירה כללית על התמדה.

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

תזמון תמונות מצב

שעת ההתחלה של תמונת המצב ומרווח הזמן של תמונת המצב קובעים את לוח הזמנים של תמונת המצב. מרווחי הזמן שאפשר להגדיר לתמונות המצב הם 1h,‏ 6h,‏ 12h ו-24h. לדוגמה, אם מגדירים את שעת ההתחלה ל-4:00 ואת המרווח לשעה אחת, תמונות המצב יתחילו ב-4:00 ביום שבו מפעילים את ההתמדה של RDB, וימשיכו בכל שעה לאחר מכן.

ב-Memorystore for Redis Cluster, לוחות הזמנים של תמונות המצב מוערכים לפי אזור הזמן UTC. לכן, אם באזור הזמן שלכם יש שעון קיץ, שעות ההתחלה המקומיות של המשימות בלוח הזמנים של תמונות המצב זזות קדימה או אחורה בשעה בתחילת שעון הקיץ ובסופו.

השהיית תמונות המצב

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

אם אתם משהים את תמונות המצב על ידי הגדרת שעת ההתחלה לעתיד, Memorystore for Redis Cluster שומר את תמונת המצב האחרונה. אם צומת נכשל ולא מצליח לשחזר נתונים מרפליקה, הצומת משתמש בקובץ ה-snapshot הזה כדי לשחזר את הנתונים. כדי להמשיך את תמונות המצב, משנים את לוח הזמנים של תמונות המצב למועד שבו רוצים שתתרחש תמונת המצב הבאה. מידע נוסף זמין במאמר שינוי המרווח בין תמונות המצב של RDB.

התנהגות השחזור

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

עקביות הנתונים בשחזור

כשמפעילים את ההתמדה של RDB, האשכול עושה כמיטב יכולתו כדי ליצור תמונות מצב במרווח הזמן שצוין. מכיוון שתמונת מצב של RDB היא גיבוי בנקודת זמן מסוימת, האפליקציה צריכה להיות מסוגלת לסבול מידה מסוימת של חוסר עדכניות אחרי ש-Memorystore for Redis Cluster משחזר את הנתונים.

יכולות להיות הרבה סיבות לכך שתמונת המצב לא נוצרה. אם יצירת קובץ snapshot נכשלת ברציפות בכמה מרווחים, יכול להיות שקובץ ה-snapshot האחרון שזמין יהיה ישן באופן שרירותי.

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

זמן התאוששות

אם צומת נכשל וצריך לשחזר נתונים מקובץ snapshot, הצומת לא זמין במהלך השחזור. זמן השחזור תלוי בגודל של קובץ ה-snapshot.

כשלים בתמונות המצב

ב-Memorystore for Redis Cluster, המערכת מנסה שוב ליצור תמונת מצב שנכשלה, באמצעות השהיה מעריכית לפני ניסיון חוזר (exponential backoff) בטווח של 5 עד 300 שניות. אם מתרחש שחזור, כשלים רצופים בתמונות המצב מגדילים את הסיכוי שהנתונים לא יהיו עדכניים.

כשלים בשחזור

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

מעקב אחרי תמונות מצב

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

מידע נוסף על שיטות מומלצות לשמירת נתונים ב-RDB זמין במאמר שיטות מומלצות לשמירת נתונים. לרשימה של מדדים שזמינים למעקב אחרי קובצי snapshot, ראו מדדי התמדה.

השפעה על הביצועים

כדי לעקוב אחרי ההשפעה של קובץ snapshot על הביצועים של האשכול, אתם יכולים להשתמש ב-Cloud Monitoring ולצפות במדדים כמו השימוש במעבד ובשימוש בזיכרון.