מידע על התמדה של AOF

בדף הזה מובאת סקירה כללית על התכונה 'הוספה לקובץ בלבד' (AOF) ב-Memorystore for Redis Cluster.

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

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

במאמר ניהול עמידות מוסבר איך להפעיל, להשבית ולנטר את העמידות של AOF.

סקירה כללית על שמירת נתונים בפורמט AOF

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

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

הגדרת סנכרון

הגדרת הסנכרון (appendfsync) למצב העקביות AOF קובעת באיזו תדירות הנתונים שנשמרו במטמון בזיכרון נשמרים באחסון עמיד. מומלץ להשאיר את הגדרת הסנכרון על שנייה אחת, שהיא ברירת המחדל. סנכרון כל שנייה מספק את האיזון הטוב ביותר בין ביצועי האשכול לבין עמידות הנתונים.

לפני שיומני ה-AOF נשמרים באחסון עמיד, הם מאוחסנים בזיכרון על ידי מערכת ההפעלה. אם מתרחשת כשל מערכת או הפעלה מחדש במהלך הזמן הזה, יכול להיות שהכתיבות בזיכרון יאבדו. הגדרת הסנכרון מאפשרת לבחור באיזו תדירות הנתונים יישמרו באחסון עמיד, והאפשרויות הן:

  • always – האפשרות הזו שומרת את הנתונים באחסון בכל כתיבה.
  • everysec – האפשרות הזו שומרת את הנתונים באחסון כל שנייה.
  • no – האפשרות הזו מסתמכת על מערכת ההפעלה כדי לנקות את הנתונים לאחסון לפי לוח הזמנים שלה, שבדרך כלל מתרחש כל 30 שניות.

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