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

בוחרים גרסת תיעוד:

בדף הזה מתוארת ארכיטקטורת ההפניה של AlloyDB Omni Premium Availability, שכוללת הגנה על נתונים באמצעות שכפול אזורי באזור (זמינות גבוהה), ומוסיפה הגנה מפני אסונות (DR) באמצעות סטרימינג אסינכרוני על פני גבולות גיאוגרפיים גדולים.

הארכיטקטורה לדוגמה הזו מתאימה במיוחד לתרחישי השימוש הבאים:

  • אתם צריכים הגנה אזורית בנוסף להגנה ברמת האזור (zone) לאפליקציות קריטיות.

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

שיקולים לגבי ארכיטקטורת הפניה לזמינות

כשמעריכים את ארכיטקטורת ההפניה הזו של הזמינות, חשוב להתייחס לגורמים הבאים:

  • זמן האחזור ורוחב הפס של הרשת בתוך האזור ובאזורים שונים
  • מיקום גיאוגרפי של מסדי נתונים ושרתי אפליקציות
  • אסטרטגיה להעברת עומסי עבודה לקריאה בלבד לרפליקות
  • פריסת זמינות גבוהה באזור DR מרוחק

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

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

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

ארכיטקטורות של זמינות גבוהה באותו אזור ושל התאוששות מאסון באזורים שונים

איור 1 מציג תצורת HA ו-DR מומלצת עם שלוש מסדי נתונים משניים לקריאה במצב המתנה בשלושה אזורי זמינות ובשני אזורים.

‫AlloyDB Omni עם גיבויים ואפשרויות לזמינות גבוהה בין אזורים

איור 1. ‫AlloyDB Omni עם אפשרויות גיבוי וזמינות גבוהה באזורים שונים.

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

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

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

גיבויים של עותקים לקריאה בלבד

כמה נקודות שכדאי לחשוב עליהן:

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

מיקום של רפליקה לקריאה בלבד לתמיכה בזמינות בכמה אזורים

מעבר מארכיטקטורה של HA בלבד לארכיטקטורה של HA ו-DR

הטמעה

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

יתרונות

  • הגנה מפני כשלים באזורים ובמכונות
  • הגנה מפני כשלים אזוריים
  • הפחתת ה-RTO כשמתרחשת תקלה אזורית במסד הנתונים

מגבלות

  • אפשר להקטין את RPO לשחזור אזורי באמצעות שכפול סינכרוני, אבל הגישה הזו גורמת לזמן אחזור נוסף בביצועי העסקאות. לצורך DR ושכפול אזורי מרחוק, מומלץ להשתמש רק בשכפול אסינכרוני.
  • הגדרת סטרימינג של WAL ב-PostgreSQL במצב סינכרוני מונעת אובדן נתונים (RPO=0) במהלך פעולה רגילה או יתירות כשל אופיינית. עם זאת, הגישה הזו לא מגינה מפני אובדן נתונים במצבים ספציפיים של תקלה כפולה, למשל כשכל המכונות במצב המתנה אובדות או שאי אפשר להגיע אליהן מהמכונה הראשית, ומיד לאחר מכן המכונה הראשית מופעלת מחדש.

אפשרויות להגנה על הנתונים

המאמרים הבאים