רכישה וניהול של התחייבויות לשימוש ביחידות קיבולת מהדור הקודם
BigQuery Reservation API מאפשר לכם לרכוש משבצות זמן ייעודיות (שנקראות התחייבויות), ליצור מאגרי משבצות זמן (שנקראים הזמנות) ולהקצות פרויקטים, תיקיות וארגונים להזמנות האלה.
מחויבות לקיבולת היא רכישה של קיבולת מחשוב ב-BigQuery למשך תקופת זמן מינימלית. כשיוצרים הזמנה עם מהדורה, אפשר לרכוש התחייבות לקיבולת, אבל זה לא חובה. עם זאת, רכישה כזו יכולה להוביל לחיסכון בעלויות.
התחייבויות הן משאב אזורי. אי אפשר להשתמש בהתחייבויות שנרכשו באזור אחד או במספר אזורים באזורים אחרים או במספר אזורים אחרים. אי אפשר להעביר התחייבויות בין אזורים או בין אזורים לאזורים מרובים.
הפעלת Reservations API
BigQuery Reservation API שונה מ-BigQuery API הקיים, וצריך להפעיל אותו בנפרד. מידע נוסף זמין במאמר הפעלה והשבתה של ממשקי API.
- שם ה-API הוא BigQuery Reservations API
- נקודת הקצה של BigQuery Reservation API היא
bigqueryreservation.googleapis.com.

רכישת יחידות קיבולת
כדי לשריין קיבולת למשך פרק זמן מינימלי, אתם יכולים לרכוש התחייבות לקיבולת. כך מקבלים הנחה וחיסכון בעלויות. מידע נוסף על העלויות הספציפיות זמין במאמר תמחור ב-BigQuery.
ההרשאות הנדרשות
כדי ליצור התחייבות לקיבולת, אתם צריכים את ההרשאה הבאה בממשק של ניהול הזהויות והרשאות הגישה (IAM):
bigquery.capacityCommitments.createבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource Admin
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
יצירת מחויבות לקיבולת
התחייבויות הן משאב אזורי. אי אפשר להשתמש בהתחייבויות שנרכשו באזור אחד או במספר אזורים באזורים אחרים או במספר אזורים אחרים. אי אפשר להעביר התחייבויות בין אזורים או בין אזורים לבין מספר אזורים.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על יצירת התחייבות.
בקטע הגדרה:
- בוחרים את המיקום.
- בקטע Capacity model, בוחרים את מודל הקיבולת.
- בוחרים את משך ההתחייבות, שקובע את תוכנית ההתחייבות.
אם אתם רוכשים מינוי שנתי, בוחרים את תוכנית החידוש שרוצים שתופעל כשהמינוי יפוג:
- לא לחדש את המינוי ולהמיר אותו להתחייבות חודשית (ברירת מחדל). כשההתחייבות השנתית מסתיימת, היא הופכת להתחייבות חודשית.
- חידוש שנתי. כשתוקף ההתחייבות השנתית יפוג, היא תתחדש לשנה נוספת כהתחייבות שנתית.
- לא לחדש את המינוי ולהמיר אותו למשבצות גמישות. כשתקופת ההתחייבות השנתית מסתיימת, היא הופכת להתחייבות לשימוש במשבצות גמישות.
מידע נוסף זמין במאמר בנושא התחייבויות לשימוש במשבצות.
מזינים את מספר המקומות שרוצים לרכוש.
לוחצים על הבא.
בודקים את העלות המשוערת של הרכישה בCost (עלות).
בקטע אישור ושליחה:
- מקלידים CONFIRM (אישור) כדי לאשר את הרכישה.
- לוחצים על רכישה כדי לרכוש את היחידות.
כדי לראות את ההתחייבות, לוחצים על View slot commitments (הצגת התחייבויות לשימוש במשבצות). אחרי שהקיבולת מוקצית, סטטוס ההתחייבות לקיבולת שביקשתם יהיה ירוק.
בפעם הראשונה שאתם רוכשים קיבולת, נוצרת default הזמנה.
SQL
כדי ליצור התחייבות לקיבולת, משתמשים בהצהרת DDL CREATE CAPACITY.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
CREATE CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID` OPTIONS ( slot_count = NUMBER_OF_SLOTS, plan = 'PLAN_TYPE');
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה פרויקט הניהול שישמור על הבעלות על ההתחייבות הזו. -
LOCATION: המיקום של ההתחייבות
COMMITMENT_ID: מזהה ההתחייבותהוא חייב להיות ייחודי לפרויקט ולמיקום. הוא צריך להתחיל ולהסתיים באות קטנה או במספר, ולהכיל רק אותיות קטנות, מספרים ומקפים.
-
NUMBER_OF_SLOTS: מספר יחידות הקיבולת לרכישה -
PLAN_TYPE: סוג התוכנית, למשלFLEX,MONTHLYאוANNUAL.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
משתמשים בפקודה bq mk עם הדגל --capacity_commitment כדי לרכוש משבצות.
bq mk \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--capacity_commitment=true \
--plan=PLAN_TYPE \
--slots=NUMBER_OF_SLOTS
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שישמור על הבעלות על ההתחייבות הזו -
LOCATION: המיקום של ההתחייבות -
PLAN_TYPE: סוג התוכנית, כמוFLEX,MONTHLYאוANNUAL. -
NUMBER_OF_SLOTS: מספר יחידות הקיבולת לרכישה.
הצגת מחויבויות קיבולת
ההרשאות הנדרשות
כדי לראות את ההתחייבויות, אתם צריכים את ההרשאה הבאה בממשק לניהול זהויות והרשאות גישה (IAM):
bigquery.capacityCommitments.listבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource EditorBigQuery Resource ViewerBigQuery User
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
צפייה בהתחייבויות לקיבולת לפי פרויקט
כדי לראות את ההתחייבויות לקיבולת לפי פרויקט:
המסוף
אי אפשר לראות התחייבויות לקיבולת מדור קודם באמצעות Google Cloud המסוף.
SQL
כדי לראות את ההתחייבויות של פרויקט ניהול, מריצים שאילתה על התצוגה המפורטת INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
SELECT capacity_commitment_id FROM `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT WHERE project_id = 'ADMIN_PROJECT_ID' AND slot_count = 100;
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: המיקום של ההתחייבויות -
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו ההתחייבויות
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי להציג את ההתחייבויות של פרויקט ניהול, משתמשים בפקודה bq ls עם הדגל --capacity_commitment.
bq ls \
--capacity_commitment=true \
--location=LOCATION \
--project_id=ADMIN_PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: המיקום של ההתחייבויות -
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו ההתחייבויות
עדכון מחויבויות קיבולת
אפשר לבצע את העדכונים הבאים במחויבות לקיבולת:
- חידוש התחייבות קיימת.
- המרת התחייבות לתוכנית התחייבות עם משך ארוך יותר.
- פיצול מחויבות לשתי מחויבויות.
- מיזוג שתי התחייבויות להתחייבות אחת.
ההרשאות הנדרשות
כדי לעדכן התחייבויות לקיבולת, אתם צריכים את ההרשאה הבאה בממשק של ניהול הזהויות והרשאות הגישה (IAM):
bigquery.capacityCommitments.updateבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource Admin
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
חידוש התחייבות
למינויים עם התחייבות שנתית יש תוכנית חידוש, שאתם מציינים כשאתם יוצרים מינוי עם התחייבות שנתית או עוברים אליו. אפשר לשנות את תוכנית החידוש של המינוי השנתי בכל שלב לפני תאריך הסיום של תקופת המחויבות.
המסוף
כדי לשנות את תוכנית החידוש של מינוי עם התחייבות שנתית:
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה התחייבויות לשימוש במשבצות.
מחפשים את ההתחייבות שרוצים לערוך.
לוחצים על פעולות ובוחרים באפשרות עריכת תוכנית החידוש.
בוחרים את תוכנית החידוש החדשה.
BQ
כדי לשנות את התוכנית שנבחרה לחידוש התחייבות שנתית, משתמשים בפקודה bq update עם הדגל --capacity_commitment ועם הדגל --renewal_plan.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--renewal_plan=PLAN_TYPE \
--capacity_commitment=true \
COMMITMENT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שישמור על הבעלות על ההתחייבות הזו -
LOCATION: המיקום של ההתחייבות -
PLAN_TYPE: סוג התוכנית, כמוFLEX,MONTHLYאוANNUAL.
COMMITMENT_ID: מזהה ההתחייבותכדי לקבל את המזהה, אפשר לעיין במאמר הצגת התחייבויות שנרכשו.
המרת התחייבות לתקופה ארוכה יותר
אתם יכולים להמיר את ההתחייבות שלכם לסוג התחייבות עם משך זמן ארוך יותר בכל שלב:
- אתם יכולים להמיר את ההתחייבות שלכם למשבצות גמישות להתחייבות חודשית או שנתית.
- אפשר להמיר את ההתחייבות החודשית להתחייבות שנתית.
ברגע שתעדכנו את ההתחייבות, תחויבו בתעריף שמשויך לתוכנית החדשה, ותאריך הסיום יאופס.
כדי להמיר התחייבות, משתמשים בפקודה bq update עם הדגל --plan.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--plan=PLAN_TYPE \
--renewal_plan=RENEWAL_PLAN \
--capacity_commitment=true \
COMMITMENT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההתחייבות -
PLAN_TYPE: סוג התוכנית, כמוFLEX,MONTHLYאוANNUAL.
RENEWAL_PLAN: תוכנית החידושההגדרה הזו רלוונטית רק אם
PLAN_TYPEהואANNUAL. אם הערך שלPLAN_TYPEהואMONTHLY, לא צריך לציין את הדגל הזה.
COMMITMENT_ID: מזהה ההתחייבותכדי לקבל את המזהה, אפשר לעיין במאמר הצגת התחייבויות שנרכשו.
פיצול התחייבות
אתם יכולים לפצל את ההתחייבות לשתי התחייבויות. האפשרות הזו שימושית אם רוצים לחדש חלק מההתחייבות. לדוגמה, אם יש לכם התחייבות שנתית ל-1,000 חשיפות, אתם יכולים לפצל 300 חשיפות להתחייבות חדשה, ולהשאיר 700 חשיפות בהתחייבות המקורית. אחרי שתאריך הסיום יגיע, תוכלו לחדש 700 משבצות במחיר השנתי, ולהמיר 300 משבצות למשבצות גמישות.
כשמפצלים התחייבות, ההתחייבות החדשה כוללת את אותו מינוי ואת אותו תאריך סיום כמו ההתחייבות המקורית.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה התחייבויות לשימוש במשבצות.
בוחרים את ההתחייבות שרוצים לפצל.
לוחצים על פיצול.
בדף Split commitment, משתמשים במחוון Configure split כדי לבחור כמה משבצות יוקצו לכל פיצול, במרווחים של 100 משבצות.
לוחצים על פיצול כדי לפצל את ההתחייבות. ההתחייבות החדשה מופיעה בכרטיסייה Slot commitments.
BQ
כדי לפצל התחייבויות, משתמשים בפקודה bq update.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--split \
--slots=SLOTS_TO_SPLIT \
--capacity_commitment=true \
COMMITMENT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההתחייבות -
SLOTS_TO_SPLIT: מספר המשבצות לפיצול מההתחייבות המקורית להתחייבות חדשה
COMMITMENT_ID: מזהה ההתחייבותכדי לקבל את המזהה, אפשר לעיין במאמר הצגת התחייבויות שנרכשו.
מיזוג של שתי התחייבויות
אתם יכולים למזג כמה התחייבויות להתחייבות אחת. כל ההתחייבויות שרוצים למזג צריכות להיות מאותו סוג (FLEX, MONTHLY, ANNUAL או THREE_YEAR). תאריך הסיום של ההתחייבות המשולבת הוא תאריך הסיום המאוחר ביותר מבין ההתחייבויות המקוריות. אם לאחד מההתחייבויות יש תאריך סיום מוקדם יותר, תאריך הסיום שלו יוארך לתאריך המאוחר יותר ותחויבו בסכום יחסי על המקומות האלה.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה התחייבויות לשימוש במשבצות.
בוחרים את ההתחייבויות שרוצים למזג.
לוחצים על מיזוג.
בדף מיזוג התחייבויות, בודקים את פרטי המיזוג ולוחצים על מיזוג. ההתחייבות החדשה אחרי המיזוג מופיעה בכרטיסייה Slot commitments.
BQ
כדי למזג שתי התחייבויות להתחייבות אחת, משתמשים בפקודה bq update:
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--merge=true \
--capacity_commitment=true \
COMMITMENT1,COMMITMENT2
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההתחייבויות -
COMMITMENT1: ההתחייבות הראשונה למיזוג -
COMMITMENT2: ההתחייבות השנייה למיזוג
מחיקת התחייבות
אפשר למחוק התחייבות לקיבולת אם תאריך הסיום שלה חל בעבר. תאריך הסיום של ההתחייבות מוצג במסוף Google Cloud . לפני שמוחקים התחייבות, צריך לוודא שיש מספיק משבצות לא מוקצות. אם לא, צריך להקטין את מספר המשבצות בהזמנה או להסיר את ההזמנות לגמרי.
ההרשאות הנדרשות
כדי למחוק התחייבויות לקיבולת, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.capacityCommitments.deleteבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource Admin
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
מחיקה של התחייבות לקיבולת
המסוף
כדי למחוק התחייבות לקיבולת, מבצעים את השלבים הבאים:
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה התחייבויות לשימוש במשבצות.
ברשימה הנפתחת מיקום, בוחרים את המיקום המתאים.
מוצאים את ההתחייבות שרוצים למחוק.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Delete.
מקלידים REMOVE (הסרה) ולוחצים על המשך.
SQL
כדי למחוק התחייבות לקיבולת, משתמשים בהצהרת DROP CAPACITY DDL.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
DROP CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: הפרויקט שבבעלותו ההתחייבות -
LOCATION: המיקום של ההתחייבות
COMMITMENT_ID: מזהה ההתחייבותכדי לקבל את המזהה, אפשר לעיין במאמר בנושא הצגת התחייבויות שנרכשו.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי למחוק התחייבות לקיבולת, משתמשים בפקודה bq rm עם הדגל --capacity_commitment:
bq rm \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--capacity_commitment=true \
COMMITMENT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההתחייבות
COMMITMENT_ID: המזהה של ההתחייבות שרוצים למחוקכדי לקבל את המזהה, אפשר לעיין במאמר הצגת התחייבויות שנרכשו.
פתרון בעיות שקשורות למחויבויות קיבולת
בקטע הזה מתוארות פעולות לפתרון בעיות שיכולות לעזור לכם אם נתקלתם בבעיות בשימוש ב-BigQuery Reservations.
יחידות הקיבולת שנרכשו נמצאות בהמתנה
יחידות הקיבולת (Slots) כפופות לכמות הקיבולת הזמינה. אחרי שרוכשים התחייבויות לשימוש ביחידות קיבולת, המערכת של BigQuery מקצה אותן ובעמודה Status מוצג סימן וי. אם המערכת של BigQuery לא מצליחה להקצות את יחידות הקיבולת המבוקשות באופן מיידי, בעמודה סטטוס יישאר הסטטוס 'בהמתנה'. יכול להיות שיהיה צורך להמתין כמה שעות עד שיחידות הקיבולת יהיו זמינות. אם אתם צריכים לקבל גישה למשבצות מוקדם יותר, אתם יכולים לנסות את הפעולות הבאות:
- מחיקת ההתחייבות שבהמתנה.
- רוכשים התחייבות חדשה למספר קטן יותר של משבצות. בהתאם לקיבולת, יכול להיות שההתחייבות הקטנה יותר תופעל באופן מיידי.
- רוכשים את שאר המקומות כהתחייבות נפרדת. יכול להיות שהמשבצות האלה יופיעו כהמתנה בעמודה סטטוס, אבל בדרך כלל הן הופכות לפעילות תוך כמה שעות.
- אופציונלי: אם שני ההתחייבויות זמינות, אפשר למזג אותן להתחייבות אחת, בתנאי שרכשתם את אותה תוכנית לשני המקרים.
אם התחייבות לשימוש במשבצת נכשלת או נמשכת זמן רב מדי, כדאי להשתמש באופן זמני בתמחור על פי דרישה. כדי לפתור את הבעיה, יכול להיות שתצטרכו להריץ שאילתות קריטיות בפרויקט אחר שלא הוקצו לו הזמנות, או שתצטרכו להסיר את הקצאת הפרויקט לגמרי.