הסבר על הזמנות

בדף הזה מוסבר איך להשתמש בהזמנות של יחידות קיבולת כדי לנהל את עומסי העבודה ב-BigQuery.

הזמנות של יחידות קיבולת (Slot)

ב-BigQuery, יחידות קיבולת (slot) מוקצות במאגרי משאבים שנקראים מקומות שמורים. הזמנות מאפשרות לכם לנהל את הקיבולת ולבודד עומסי עבודה בדרכים שמתאימות לארגון שלכם. לדוגמה, אפשר ליצור הזמנה בשם prod לעומסי עבודה של ייצור, והזמנה נפרדת בשם test לבדיקות, כדי שעבודות בדיקה לא יתחרו על משאבים עם עבודות ייצור. אפשר גם ליצור הזמנות למחלקות שונות בארגון כדי להקצות עלויות מחשוב.

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

הקצאות של הזמנות

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

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

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

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

כשיוצרים מטלה, מציינים את סוג העבודה של המטלה:

  • ‫QUERY: השתמשו בהזמנה הזו לעבודות של שאילתות לא רציפות, כולל שאילתות SQL,‏ DDL,‏ DML ו-BigQuery ML (מודלים מובנים).

  • ‫AUTOMATIC_MATERIALIZED_VIEW_REFRESH: אפשר להשתמש בהזמנה הזו לעבודות רענון אוטומטי של תצוגות חומריות.

  • ‫BACKGROUND_CHANGE_DATA_CAPTURE: משתמשים בהזמנה הזו כשבוחרים להשתמש בהזמנה משלכם כדי להריץ את משימות הרקע של הטמעת CDC ב-BigQuery. אי אפשר להזמין מקומות ב-BACKGROUND_CHANGE_DATA_CAPTURE במהדורת Standard.

  • ‫BACKGROUND_COLUMN_METADATA_INDEX: משתמשים בהזמנה הזו כשבוחרים להשתמש בהזמנה משלכם כדי להריץ את משימות הרקע של שמירת מטא-נתונים במטמון ב-BigLake. אפשר גם להשתמש בהזמנה הזו כשמשכפלים מסדי נתונים של מקור ל-BigQuery באמצעות פעולות של החלת נתונים ברקע ב-Datastream. אי אפשר להזמין מקומות ב-BACKGROUND_COLUMN_METADATA_INDEX במהדורת Standard.

  • ‫BACKGROUND_SEARCH_INDEX_REFRESH: משתמשים בהזמנה הזו כשבוחרים להשתמש בהזמנה משלכם כדי להריץ ברקע את משימות הניהול של אינדקס BigQuery Search. אי אפשר להזמין מקומות ב-BACKGROUND_SEARCH_INDEX_REFRESH במהדורת Standard.

  • ‫BACKGROUND: משתמשים בהזמנה הזו כשבוחרים להשתמש בהזמנה משלכם כדי לשכפל מסדי נתונים של מקור ל-BigQuery באמצעות פעולות ההחלה ברקע של Datastream. ההזמנה הזו תשמש גם לעבודות שמתוארות על ידי BACKGROUND_CHANGE_DATA_CAPTURE, BACKGROUND_COLUMN_METADATA_INDEX ו-BACKGROUND_SEARCH_INDEX_REFRESH כגיבוי, אם לא קיימת הזמנה ספציפית יותר לסוגי העבודות האלה. אי אפשר להזמין מקומות ב-BACKGROUND במהדורת Standard.

  • ‫CONTINUOUS: משתמשים במקום השמור הזה לעבודות של שאילתה מתמשכת.

  • ‫ML_EXTERNAL: שימוש בהזמנה הזו לשאילתות BigQuery ML‏ CREATE MODEL שמשתמשות בשירותים חיצוניים ל-BigQuery. מידע נוסף מופיע במאמר בנושא הקצאת משבצות לעומסי עבודה של BigQuery ML. אי אפשר להשתמש בהזמנות של ML_EXTERNAL במהדורת Standard.

  • ‫PIPELINE: שימוש בהזמנה הזו לעבודות טעינה וחילוץ.

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

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

אי אפשר להקצות משבצות זמן ספציפיות למטלות ספציפיות. מתזמן BigQuery מטפל בהקצאת יחידות קיבולת (Slot) למשימות באמצעות הזמנה. מידע נוסף על השימוש במשבצות זמין במאמר בנושא תזמון הוגן ב-BigQuery.

הקצאת הזמנות בצורה גמישה

‫BigQuery מאפשר לכם לציין בזמן הריצה את ההזמנה שבה השאילתה צריכה לפעול. כך תוכלו לשלוט יותר בהקצאת המשאבים ולמנוע יצירה של פרויקטים מיותרים. אפשר לציין הזמנה בזמן הריצה באמצעות CLI,‏ UI,‏ SQL או API, וכך לבטל את הקצאת ההזמנה שמוגדרת כברירת מחדל לפרויקט, לתיקייה או לארגון. ההזמנה שהוקצתה צריכה להיות באותו אזור שבו מופעלת השאילתה. ההקצאות האלה נתמכות בכל המהדורות.

כדי להשתמש בהזמנה כשמריצים את השאילתה, צריך גישה להזמנה.

אם המהדורה של ההזמנה שהוקצתה כברירת מחדל היא Enterprise Plus, אפשר להחליף אותה רק בהזמנה של Enterprise Plus.

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

שילוב של מקומות שמורים עם חיוב על פי דרישה

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

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

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

ציון פרויקט ניהול

כשיוצרים התחייבויות והזמנות, הן משויכות ל Google Cloud פרויקט. בפרויקט הזה מנוהלים משאבי ההזמנות ב-BigQuery, והוא המקור העיקרי לחיוב על המשאבים האלה. הפרויקט הזה לא חייב להיות אותו פרויקט שמכיל את המשימות או מערכי הנתונים שלכם ב-BigQuery.

מומלץ ליצור פרויקט ייעודי למשאבים של מקומות שמורים. הפרויקט הזה נקרא פרויקט הניהול, כי הוא מרכז את החיוב והניהול של ההתחייבויות שלכם. נותנים לפרויקט שם תיאורי כמו bq-COMPANY_NAME-admin. לאחר מכן יוצרים פרויקט אחד או יותר כדי לאחסן את המשימות ב-BigQuery.

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

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

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

שימוש בכמה פרויקטים לניהול

במקרים מסוימים, כדאי ליצור יותר מפרויקט ניהול אחד:

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

קיבולת של יחידות קיבולת פנויות לא משותפת בין מקומות שמורים בפרויקטים שונים לניהול.

בדף Workload management במסוף BigQuery Google Cloud , אפשר לראות את ההזמנות וההתחייבויות רק של הפרויקט הניהולי שנבחר.

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

כדי לבקש תמיכה או לשלוח משוב על התכונה הזו, אפשר לפנות לכתובת bigquery-wlm-feedback@google.com.

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

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

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

  • Maximum slots: Limits the slot consumption of queries running for the assignee project within the reservation. הערך המינימלי המותר הוא 100. זו לא מגבלה מוחלטת, אלא מגבלה משוערת.
  • מקסימום מקביליות: מגביל את מספר השאילתות בו-זמניות שמותרות לפרויקט שהוקצה במסגרת ההזמנה.

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

יש מגבלות על שינוי ההגדרות האלה:

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

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

הגדרת גודל להזמנות של יחידות קיבולת (Slot)

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

אתם יכולים להתנסות עם מיקומי מודעות בסיסיים ועם מיקומי מודעות שמותאמים אוטומטית לעומס כדי לקבוע את ההגדרה הטובה ביותר של מיקומי מודעות. לדוגמה, אפשר לבדוק את עומס העבודה עם 500 משבצות בסיסיות, אחר כך עם 1,000, אחר כך עם 1,500 ועם 2,000, ולראות את ההשפעה על הביצועים.

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

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

אפשר גם לבדוק את השימוש הנוכחי במשבצות בפרויקטים, וגם את המחיר החודשי שרוצים לשלם. לעומסי עבודה לפי דרישה יש מכסת חריגה של 2,000 משבצות, אבל חשוב לבדוק כמה משבצות הפרויקטים שלכם באמת צורכים באמצעות תצוגות INFORMATION_SCHEMA.JOBS*, Cloud Logging,‏ Jobs API או יומני ביקורת של BigQuery. מידע נוסף מופיע במאמר בנושא מעקב אחרי הזמנות.

ציר זמן של שימוש ביחידת קיבולת (Slot).

ניהול עומסי עבודה באמצעות הזמנות

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

לדוגמה, יכול להיות שיש לכם קיבולת כוללת של 1,000 משבצות ושלושה סוגים של עומסי עבודה: מדעי הנתונים, ELT ו-BI.

  • אתם יכולים ליצור ds הזמנה עם 500 משבצות זמן, ולהקצות את כל הפרויקטים הרלוונטיים לds Google Cloud הזמנה.
  • אתם יכולים ליצור elt הזמנה עם 300 משבצות, ולהקצות פרויקטים שבהם אתם משתמשים לעומסי עבודה של ELT לeltהזמנה.
  • אתם יכולים ליצור bi הזמנה עם 200 משבצות זמן, ולהקצות פרויקטים שמחוברים לכלי ה-BI שלכם לbi ההזמנה.

ההתחייבויות נמחקות.

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

ניהול הזמנות באזורים שונים

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

  1. במסוף BigQuery, לוחצים על Reservations (הזמנות).
  2. לוחצים על בורר המיקום ובוחרים אזור שבו רוצים לנהל את השמירה. צריך לבחור אזור אחר.
  3. אחרי שבוחרים אזור, אפשר לקנות משבצות זמן, ליצור הזמנות ולהקצות פרויקט להזמנה.

ניהול הזמנות בארגונים מורכבים

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

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

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

ניהול אמצעי בקרה משופרים על הזמנות

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

לדוגמה, אפשר ליצור תנאי IAM שנותן את ההרשאה reservations.use לקבוצה ספציפית של משתמשים לכל ההזמנות שהשם שלהן מתחיל בקידומת מסוימת. כך תוכלו לנהל את הגישה לקבוצות של הזמנות קשורות.

למשתמשים צריכה להיות ההרשאה reservations.use כדי לבטל את ההזמנה שמוגדרת כברירת מחדל למשימה שלהם, או כדי להריץ את המשימה לפי דרישה אם כבר קיימת הקצאת הזמנה לפרויקט. ההרשאה הזו ניתנת בתפקידים roles/bigquery.resourceAdmin ו-roles/bigquery.resourceEditor. אתם יכולים להעניק גישה למשתמשים פרטיים, לקבוצות או לחשבונות שירות. אפשר גם להגדיר מדיניות על סמך מאפייני הזמנה כמו שם, כי תנאי IAM תומכים בבקרת גישה על סמך מאפיינים.

במאמר שליטה בגישה להזמנות מוסבר איך להעניק תנאי IAM להזמנות.

התחייבויות ליחידות קיבולת (Slot)

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

  • התחייבות שנתית. אתם רוכשים התחייבות ל-365 ימים. אחרי 365 ימים, תוכלו לבחור אם לחדש את התוכנית או לעבור לתוכנית אחרת.

  • התחייבות לשלוש שנים. אתם רוכשים התחייבות לשלוש שנים. אחרי 3 שנים (1,095 ימים), תוכלו לבחור אם לחדש את המינוי או לעבור לתוכנית התחייבות מסוג אחר.

בסוף תקופת ההתחייבות, ההתחייבות שלכם תתחדש בהתאם לתוכנית החידוש שנבחרה.

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

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

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

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

חידוש התחייבויות

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

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

מידע על רכישה וחידוש של התחייבויות זמין במאמר יצירת התחייבות לקיבולת.

לדוגמה, אם רכשתם התחייבות שנתית בשעה 18:00 ב-5 באוקטובר 2019, החיוב התחיל באותה שנייה. אפשר למחוק או לחדש את ההתחייבות אחרי השעה 18:00 ב-4 באוקטובר 2020. חשוב לזכור ש-2020 היא שנה מעוברת. אפשר לשנות את תוכניות החידוש לפני השעה 18:00 ב-4 באוקטובר 2020 באופן הבא:

  • אם תבחרו לחדש את המינוי להתחייבות שנתית, ב-4 באוקטובר 2020 בשעה 18:00, ההתחייבות שלכם תתחדש לשנה נוספת.
  • אם תבחרו לחדש את ההתחייבות לשלוש שנים, ההתחייבות שלכם תתחדש לשלוש שנים ב-4 באוקטובר 2020 בשעה 18:00.

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

תפוגת ההתחייבות

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

אם רכשתם התחייבות בטעות או ביצעתם טעות בהגדרת ההתחייבות, תוכלו לבקש עזרה מCloud Customer Care.

מגבלות על הזמנות

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

הזמנה צפויה

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

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

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

הערך של ignore_idle_slots צריך להתאים למצב ההתאמה. אם מצב ההתאמה לגודל הוא ALL_SLOTS או IDLE_SLOTS_ONLY, הערך של ignore_idle_slots חייב להיות false. אם מצב ההתאמה הוא AUTOSCALE_ONLY, הערך של ignore_idle_slots חייב להיות true.

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

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

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

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

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

  • יחידות קיבולת (Slot) לא פעילות: הקיבולת של יחידת הקיבולת (Slot) שהוזמנה היא אפס, ומצב ההרחבה הוא IDLE_SLOTS_ONLY. ההזמנה תנצל את כל המשבצות הפנויות עד למספר המקסימלי שהוגדר. יכול להיות שההזמנה לא תגיע למקסימום אם לא יהיו מספיק משבצות זמן פנויות.

התרשים הבא מציג את אפשרויות ההגדרה השונות שזמינות:

אפשרויות להגדרת הזמנות צפויות.

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

מגבלות

היכולת לחזות את הזמינות להזמנה כפופה למגבלות הבאות:

  • התכונה 'חיזוי זמינות להזמנה' זמינה רק במהדורות Enterprise ו-Enterprise Plus, אלא אם בוחרים באפשרות AUTOSCALE_ONLY.

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

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

קבוצות הזמנות

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

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

הזמנות שמשתייכות לאותה קבוצת הזמנות ישתפו ביניהן את יחידות הקיבולת הפנויות לפני שהן יהיו זמינות לארגון:

קבוצות של הזמנות.

שיתוף יחידות קיבולת פנויות עם קבוצות הזמנות

משבצות זמן פנויות מחולקות באופן שווה בין הזמנות שלא מקובצות ובין קבוצות של הזמנות, ואז באופן שווה בתוך קבוצות של הזמנות.

בדוגמה הבאה, יש שלוש הזמנות ו-1,200 משבצות זמן פנויות. אם אין קבוצות של מקומות שמורים, לכל מקום שמור יש חלק שווה של 400 יחידות קיבולת (Slot) בלי פעילות. כשמקבצים את הזמנות 1 ו-2, חלוקת המיקומים הפנויים משתנה. קודם כל, המשבצות הפנויות מחולקות באופן שווה בין קבוצת ההזמנות לבין הזמנה 3 (600 משבצות פנויות לכל אחת). לאחר מכן, 600 המשבצות הפנויות של קבוצת ההזמנות מחולקות באופן שווה בין הזמנה 1 והזמנה 2.

שיתוף יחידות קיבולת (Slot) פנויות בקבוצות של הזמנות.

מגבלות

קבוצות של הזמנות כפופות למגבלות הבאות:

  • הזמנות שמשתפות קבוצת הזמנות חייבות להשתייך לאותו פרויקט ולאותו אזור.

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

  • ההזמנות בקבוצה חייבות להיות של אותו מהדורה.

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

  • אם הפעלתם את האפשרות 'תוכנית התאוששות מאסון (DR)' להזמנות בקבוצה, כל ההזמנות חייבות להשתמש באותה קבוצת אזורים למיקומים הראשיים והמשניים שלהן.

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

פתרון בעיות בהזמנות

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

אי אפשר להוסיף עוד משבצות לגודל ההזמנה

אם נתקלתם בשגיאות כמו Failed to allocate slots for reservation in the current system state או Failed to update reservation: Failed to allocate slots for reservation כשניסיתם להוסיף עוד משבצות לזמן ההזמנה, בדרך כלל מדובר בבעיה זמנית. כדי לפתור את הבעיה:

  • אפשר לנסות שוב עם מספר קטן יותר של משבצות.
  • אם הניסיון עם מספר קטן יותר של משבצות נכשל, צריך להמתין 15 דקות ולנסות שוב לבצע את הפעולה.

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

אין מספיק מכסה כדי להשלים את הבקשה הזו

אם הודעת השגיאה היא There is insufficient quota to complete this request, הבקשה חורגת ממגבלת המכסה שהוגדרה לפרויקט.

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

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

הזמנה שלא נעשה בה שימוש על ידי BigQuery להרצת משימה

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

השאילתה וההזמנה הן באזורים שונים

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

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

ההזמנה נוצרה, אבל הפרויקט לא הוקצה לה

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

אי-התאמה בסוג העבודה

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

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

שאילתות עם כמה הצהרות

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

כדי לוודא שהעבודה השתמשה בפועל בנתונים ממקום שמור, בודקים את המטא-נתונים של העבודה המשנית.

אחזור תוצאות שנשמרו במטמון

כשמשימת שאילתה מאחזרת תוצאות ששמורות במטמון, השדה של ההזמנה ריק כי BigQuery לא מבצע חישוב ומביא את התוצאות ישירות מהטבלה הזמנית.

פעולות לשינוי שורות בסימון נתונים שהשתנו (CDC)

אם יש לכם טבלאות של לכידת נתוני שינוי (CDC),‏ BigQuery מחיל שינויים בשורות בהמתנה במרווח הזמן של max_staleness כעבודות ברקע שמשתמשות בסוג ההקצאה BACKGROUND. אם אין הקצאות של BACKGROUND, המשימות האלה מתומחרות לפי תמחור על פי דרישה. כדאי ליצור BACKGROUNDהקצאה לפרויקט כדי להימנע מעלויות בלתי צפויות על פי דרישה. אפשר לזהות את המשרות האלה לפי מחרוזת המשנה queueworker_cdc_background_merge_coalesce במזהה המשרה.

סוגי מודלים של BigQuery ML שמשתמשים בשירותים חיצוניים

אם לא נמצאה הקצאת הזמנה עם ML_EXTERNAL סוג העבודה בפרויקט, משימות ליצירת מודלים חיצוניים יפעלו באמצעות תמחור לפי דרישה. ההקצאה של QUERY סוג העבודה חלה על מודלים רגילים של BigQuery ML ועל מודלים של פירוק מטריצות (שנדרשת להם הזמנה במהדורת Enterprise או Enterprise Plus), בעוד שמודלים חיצוניים דורשים הקצאה של ML_EXTERNAL. מידע נוסף זמין במאמר בנושא הקצאת משבצות לעומסי עבודה ב-BigQuery.

זוהו הזמנות לא מזוהות בפרויקט

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

default-pipeline

כברירת מחדל, טעינה באצווה או ייצוא באצווה של נתונים ב-BigQuery מתבצעים באמצעות מאגר משבצות משותף ללא תשלום. כשבודקים את עבודות הטעינה או החילוץ האלה, בשדה של ההזמנה מופיע default-pipeline.

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