מעבר לניהול התאוששות מאסון
בדף הזה נסביר איך להעביר שכפול בין אזורים ב-BigQuery אל התאוששות מאסון שמנוהלת על ידי 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 וגם מגבלות של DR. |
| גישת כתיבה | משימות שפועלות במסגרת כל מודל קיבולת יכולות לכתוב לערכות נתונים משוכפלות באזור הראשי. המשני תמיד לקריאה בלבד. | רק עבודות שמופעלות במסגרת הזמנות של Enterprise Plus יכולות לכתוב לערכות נתונים משוכפלות באזור הראשי. העותקים המשוכפלים של מערכי הנתונים המשניים וההזמנות הם תמיד לקריאה בלבד. |
| הרשאת קריאה | משימות שפועלות במסגרת מודל קיבולת כלשהו יכולות לקרוא מתוך מערכי נתונים משוכפלים. | משימות שפועלות במסגרת מודל קיבולת כלשהו יכולות לקרוא מתוך מערכי נתונים משוכפלים. |
השלכות של העברה
בקטעים הבאים מפורטים השינויים בעלויות וביכולות שמתרחשים כשעוברים ל-DR.
השלכות על העלויות
כדאי להביא בחשבון את ההשלכות הבאות על העלויות כשעוברים מ-CRR ל-DR:
התכונה DR תומכת רק בגישת כתיבה ממהדורת Enterprise Plus, שכוללת עלויות מחשוב גבוהות יותר. אפשר לקרוא מכל מודל קיבולת, כך שעלויות הקריאה של משימות קיימות לא משתנות.
התכונה DR משתמשת ברפליקציית Turbo, שעלותה משתנה בהתאם לזוג האזורים.
מחירי האחסון זהים גם ב-CRR וגם ב-DR.
מידע נוסף על תמחור זמין במאמר תמחור.
השלכות על היכולות
כשעוברים מ-CRR ל-DR, כדאי להביא בחשבון את ההשלכות הבאות על היכולות:
התאוששות מאסון תומכת במעבר אוטומטי לגיבוי רק ברמת ההזמנה. כל המשימות הקיימות שמסתמכות על מעבר אוטומטי לגיבוי ברמת מערך הנתונים ייכשלו.
אפשר לכתוב למערך הנתונים רק באמצעות שאילתות במהדורת Enterprise Plus, אחרי שמצרפים אותו להזמנת ה-DR. כל עבודות הכתיבה הקיימות שלא משתמשות במהדורת Enterprise Plus לקיבולת החישוב שלהן ייכשלו.
לפני שמתחילים
לפני שמתחילים בהעברה, כדאי להכיר את המושגים שמוסברים במאמרים בנושא שכפול בין אזורים וניהול התאוששות מאסון.
כדי לעבור ל-DR, אתם צריכים לעמוד בדרישות המוקדמות הבאות:
יש לכם פרויקט פעיל Google Cloud עם BigQuery מופעל.
יצרתם ושכפלתם מערכי נתונים באמצעות CRR.
למערכי הנתונים יש את אותם מיקומים ראשיים ומשניים שבהם רוצים להשתמש לצורך DR.
יש לכם את ההרשאות הנדרשות לעבודה עם DR. למידע נוסף על הרשאות, אפשר לעיין במאמר לפני שמתחילים.
מעבר מ-CRR ל-DR
בקטעים הבאים מוסבר איך להעביר את מערכי הנתונים מ-CRR ל-DR. ההסבר מניח שכבר הגדרתם את מערכי הנתונים ל-CRR.
יצירת בקשה לשמירת מקום למעבר לגיבוי (failover)
כדי להפעיל התאוששות מאסון, צריך ליצור הזמנת מעבר לגיבוי כשל באזור הראשי. מגדירים את ההזמנה עם האזור הראשי והמשני המתאימים. האזורים הראשי והמשני צריכים להיות זהים לאזורים של כל מערכי הנתונים של CRR שאתם מתכוונים להעביר ל-DR. כדי ליצור הזמנה למעבר לגיבוי, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management (ניהול עומסי עבודה) ואז על Create reservation (יצירת הזמנה).
בשדה 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
כדי ליצור בקשה לשמירת מקום, משתמשים בהצהרה של CREATE RESERVATION שפת הגדרת נתונים (DDL).
במסוף 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.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על הכרטיסייה הזמנת משבצות זמן.
לוחצים על ההזמנה שרוצים לצרף אליה קבוצת נתונים.
לוחצים על הכרטיסייה שחזור אחרי אסון.
לוחצים על הוספת קבוצת נתונים למעבר לגיבוי.
מזינים את השם של מערך הנתונים שרוצים לשייך להזמנה.
לוחצים על הוספה.
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 | +---------------------------------+---------------------------+
מה השלב הבא?
מידע נוסף על שכפול באזורים שונים זמין במאמר שכפול של מערכי נתונים באזורים שונים.
מידע נוסף על התאוששות מאסון מנוהלת זמין במאמר בנושא התאוששות מאסון מנוהלת.