מעבר לניהול תוכנית התאוששות מאסון (DR)
בדף הזה נסביר איך להעביר שכפול בין אזורים ב-BigQuery אל תוכנית התאוששות מאסון (DR) מנוהלת ב-BigQuery.
סקירה כללית
CRR (שכפול בין אזורים) ו-DR (אחזור נתונים לאחר אסון) מנוהל ב-BigQuery הן שתי תכונות שנועדו לשפר את הזמינות של הנתונים ואת היכולות של אחזור נתונים לאחר אסון. עם זאת, הם מטפלים בהפסקות שירות אזוריות בדרכים שונות. התכונה CRR לא מאפשרת קידום של העותק המשני אם האזור הראשי לא זמין. לעומת זאת, DR מציע הגנה מקיפה יותר בכך שהוא מאפשר יתירות כשל (failover) לרפליקה המשנית גם אם האזור הראשי לא זמין. ב-CRR, רק האחסון משוכפל, וב-DR, גם האחסון וגם קיבולת החישוב משוכפלים.
בטבלה הבאה מפורטות היכולות של התכונות CRR ו-DR:
| תכונה | CRR | DR |
|---|---|---|
| תהליך השכפול הראשוני | משתמש ב-CRR כדי לשכפל את מערך הנתונים בהתחלה. | הטעינה הראשונית משוכפלת קודם באמצעות CRR לפני העברה של מערך נתונים של CRR למערך נתונים של DR. |
| שכפול מבצעים | משתמשים בשכפול רגיל. | נעשה שימוש ברפליקציה בקצב טורבו. |
| תהליך המבצע | קידום ברמת מערך הנתונים. | קידום ברמת ההזמנה (יתירות כשל בהזמנה וקידום של מערך נתונים). אפשר לצרף הרבה מערכי נתונים להזמנת מעבר לגיבוי (failover) אחת. אי אפשר להשתמש במבצע ברמת מערך הנתונים עם DR. |
| מימוש המבצע | באמצעות ממשק משתמש או פקודת DDL מבוססת-SQL לכל מערך נתונים. אין תמיכה ב-CLI, בספריות לקוח, ב-API או ב-Terraform. | באמצעות ממשק משתמש או פקודת DDL מבוססת SQL לכל הזמנה של EPE. אין תמיכה ב-CLI, בספריות לקוח, ב-API או ב-Terraform. |
| מצב מעבר לגיבוי | מעבר גיבוי אוטומטי רך. | מעבר גיבוי אוטומטי קשיח. |
| דרישה לגבי מהדורה | כל מודל קיבולת. | מהדורת Enterprise Plus. |
| מגבלות | מגבלות על שימוש ב-CRR. | הדוחות כוללים גם מגבלות על CRR וגם מגבלות על DR. |
| גישת כתיבה | משימות שפועלות במסגרת כל מודל קיבולת יכולות לכתוב לערכות נתונים משוכפלות באזור הראשי. המשני תמיד לקריאה בלבד. | רק משימות שפועלות במסגרת הזמנות של Enterprise Plus יכולות לכתוב לערכות נתונים משוכפלות באזור הראשי. העתקים של מערכי נתונים משניים ושל הזמנות הם תמיד לקריאה בלבד. |
| גישת קריאה | משימות שפועלות במסגרת כל מודל קיבולת יכולות לקרוא ממערכי נתונים משוכפלים. | משימות שפועלות במסגרת כל מודל קיבולת יכולות לקרוא ממערכי נתונים משוכפלים. |
השלכות של העברה
בקטעים הבאים מפורטים השינויים בעלויות וביכולות שמתרחשים כשעוברים ל-DR.
השלכות על העלויות
כדאי להביא בחשבון את ההשלכות הבאות על העלויות כשמבצעים מיגרציה מ-CRR ל-DR:
התכונה DR תומכת רק בגישת כתיבה ממהדורת Enterprise Plus, שכוללת עלויות מחשוב גבוהות יותר. אפשר לקרוא מכל מודל קיבולת, כך שעלויות הקריאה של משימות קיימות לא משתנות.
התכונה DR משתמשת ברפליקציית Turbo, שעלותה משתנה בהתאם לזוג האזורים.
מחירי האחסון זהים גם ב-CRR וגם ב-DR.
מידע נוסף על תמחור זמין במאמר תמחור.
השלכות על היכולות
כשעוברים מ-CRR ל-DR, חשוב להביא בחשבון את ההשלכות הבאות על היכולות:
התאוששות מאסון תומכת במעבר אוטומטי לגיבוי רק ברמת ההזמנה. כל המשימות הקיימות שמסתמכות על מעבר אוטומטי לגיבוי ברמת מערך הנתונים ייכשלו.
רק שאילתות במהדורת Enterprise Plus יכולות לכתוב למערך הנתונים אחרי שהוא מצורף להזמנת ה-DR. כל עבודות הכתיבה הקיימות שלא משתמשות במהדורת Enterprise Plus לקיבולת החישוב שלהן ייכשלו.
לפני שמתחילים
לפני שמתחילים בהעברה, כדאי להכיר את המושגים שמוסברים במאמרים בנושא שכפול בין אזורים וניהול תוכנית התאוששות מאסון (DR).
כדי לעבור ל-DR, אתם צריכים לעמוד בדרישות המוקדמות הבאות:
יש לכם פרויקט פעיל Google Cloud עם BigQuery מופעל.
יצרתם ושכפלתם מערכי נתונים באמצעות CRR.
למערכי הנתונים יש את אותם מיקומים ראשיים ומשניים שבהם רוצים להשתמש לצורך DR.
יש לכם את ההרשאות הנדרשות לעבודה עם DR. למידע נוסף על הרשאות, אפשר לעיין במאמר לפני שמתחילים.
מעבר מ-CRR ל-DR
בקטעים הבאים מוסבר איך להעביר את מערכי הנתונים מ-CRR ל-DR. ההנחה היא שכבר הגדרתם את מערכי הנתונים ל-CRR.
יצירת בקשה לשמירת מקום במקרה של כשל
כדי להפעיל תוכנית התאוששות מאסון (DR), צריך ליצור הזמנת מעבר לגיבוי כשל באזור הראשי. מגדירים את ההזמנה עם האזור הראשי והאזור המשני המתאימים. האזורים הראשי והמשני צריכים להיות זהים לאזורים של כל מערכי הנתונים של CRR שאתם מתכוונים להעביר ל-DR. כדי ליצור הזמנה ליתירות כשל, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על ניהול קיבולת ואז על יצירת בקשה לשמירת מקום.
בשדה Reservation name, מזינים שם להזמנה.
ברשימה מיקום, בוחרים את המיקום.
ברשימה Edition בוחרים במהדורת Enterprise Plus.
ברשימה Max reservation size selector, בוחרים את הגודל המקסימלי של ההזמנה.
אופציונלי: בשדה Baseline slots, מזינים את מספר המשבצות הבסיסיות להזמנה.
כדי לקבוע את מספר המשבצות הזמינות להתאמה אוטומטית לעומס, מפחיתים את הערך של Baseline slots מהערך של Max reservation size. לדוגמה, אם יוצרים הזמנה עם 100 משבצות זמן בסיסיות וגודל הזמנה מקסימלי של 400, ההזמנה כוללת 300 משבצות זמן עם שינוי גודל אוטומטי. מידע נוסף על משבצות בסיסיות זמין במאמר בנושא שימוש בהזמנות עם משבצות בסיסיות ומשבצות של שינוי גודל אוטומטי.
ברשימה מיקום משני, בוחרים את המיקום המשני.
כדי להשבית את השיתוף של משבצות זמן פנויות ולהשתמש רק בקיבולת המשבצות שצוינה, לוחצים על המתג התעלמות ממשבצות זמן פנויות.
כדי להרחיב את הקטע הגדרות מתקדמות, לוחצים על החץ להרחבה .
אופציונלי: כדי להגדיר את יעד הבו-זמניות של משימות, לוחצים על המתג החלפת יעד הבו-זמניות של משימות אוטומטית כדי להפעיל אותו, ואז מזינים ערך בשדה יעד הבו-זמניות של משימות. פירוט המשבצות מוצג בטבלה Cost estimate. סיכום של שמירת המקום מוצג בטבלה Capacity summary.
לוחצים על Save.
ההזמנה החדשה מופיעה בכרטיסייה הזמנות למשבצות זמן.
SQL
כדי ליצור בקשה לשמירת מקום, משתמשים בהצהרה של שפת הגדרת נתונים (DDL) CREATE RESERVATION.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = ENTERPRISE_PLUS, secondary_location = SECONDARY_LOCATION);
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה. -
LOCATION: המיקום של ההזמנה. אם בוחרים מיקום ב-BigQuery Omni, אפשר לבחור רק במהדורת Enterprise.
RESERVATION_NAME: השם של השמירה.השם צריך להתחיל ולהסתיים באות קטנה או במספר, ולהכיל רק אותיות קטנות, מספרים ומקפים.
-
NUMBER_OF_BASELINE_SLOTS: מספר המשבצות של תוכנית הבסיס להקצאה להזמנה. אי אפשר להגדיר את האפשרותslot_capacityואת האפשרותeditionבאותה הזמנה. -
SECONDARY_LOCATION: המיקום המשני של ההזמנה. במקרה של הפסקה זמנית בשירות, כל מערכי הנתונים שמצורפים להזמנה הזו יועברו למיקום הזה.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
צירוף מערך הנתונים להזמנה
אחרי שיוצרים את ההזמנה ליתירות כשל, מצרפים לה את מערך הנתונים או מערכי הנתונים שרוצים להעביר בין אזורים. הפעולה הזו מאפשרת יתירות כשל לכל מערכי הנתונים המצורפים. כדי לצרף את מערך הנתונים להזמנה, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על ניהול קיבולת ואז על הכרטיסייה הזמנת משבצות.
לוחצים על ההזמנה שרוצים לצרף אליה קבוצת נתונים.
לוחצים על הכרטיסייה שחזור אחרי אסון.
לוחצים על הוספת קבוצת נתונים למעבר לגיבוי.
מזינים את השם של מערך הנתונים שרוצים לשייך להזמנה.
לוחצים על הוספה.
SQL
כדי לצרף קבוצת נתונים להזמנה, משתמשים בהצהרת DDL ALTER SCHEMA SET OPTIONS.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
ALTER SCHEMA `DATASET_NAME` SET OPTIONS ( failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);
מחליפים את מה שכתוב בשדות הבאים:
DATASET_NAME: השם של מערך הנתונים.-
ADMIN_PROJECT_ID.RESERVATION_NAME: השם של ההזמנה שרוצים לשייך אליה את מערך הנתונים.
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
אימות ההגדרה
כדי לאמת את הסטטוס של ההגדרה, שולחים שאילתה לתצוגה INFORMATION_SCHEMA.SCHEMATA_REPLICAS.
PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT]
מוודאים שמערכי הנתונים מצורפים להזמנה הנכונה באזורים הנכונים.
מחליפים את מה שכתוב בשדות הבאים:-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`.
דוגמאות
בדוגמה הבאה מפורטים השלבים למעבר מ-CRR ל-DR, עם דוגמאות מעשיות לשימוש ב-GoogleSQL. בדוגמה הזו, נניח את הפרטים הבאים:
אתם עובדים בפרויקט בשם
myproject.כבר יצרתם מערך נתונים בשם
mydatasetוהגדרתם אותו עם CRR.האזור הראשי של
mydatasetהואus-central1והאזור המשני הואus-west1.
כדי להתחיל להעביר את מערך הנתונים ל-DR, קודם צריך ליצור הזמנה במהדורת Enterprise Plus. בדוגמה הזו, שם ההזמנה הוא myreservation.
CREATE RESERVATION `myproject.region-us-central1.myreservation`
OPTIONS (
slot_capacity = 0,
edition = ENTERPRISE_PLUS,
autoscale_max_slots = 50,
secondary_location = 'us-west-1');
אחרי שיוצרים את ההזמנה, אפשר לצרף את מערך הנתונים להזמנה. בדוגמה הבאה, מערך הנתונים מצורף להזמנה:
ALTER SCHEMA
`myproject.mydataset`
SET OPTIONS (
failover_reservation = 'myproject.myreservation');
לאחר מכן, מוודאים שמערך הנתונים צורף בהצלחה.
SELECT
failover_reservation_project_id,failover_reservation_name,
FROM
`myproject`.`region-us-west1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
WHERE
schema_name='mydataset';
התוצאות של השאילתה הזו אמורות להיראות כך:
+---------------------------------+---------------------------+ | failover_reservation_project_id | failover_reservation_name | +---------------------------------+---------------------------+ | myproject | myreservation | | myproject | myreservation | +---------------------------------+---------------------------+
מה השלב הבא?
מידע נוסף על שכפול בין אזורים זמין במאמר שכפול של מערכי נתונים באזורים שונים.
מידע נוסף על תוכנית התאוששות מאסון מנוהלת זמין במאמר בנושא תוכנית התאוששות מאסון מנוהלת.