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

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

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

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

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

הקצאת הזמנות

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

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

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

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

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

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

  • 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. הזמנות ל-BACKGROUND_SEARCH_INDEX_REFRESH לא זמינות במהדורת Standard.

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

  • CONTINUOUS: שימוש בהזמנה הזו לעבודות של שאילתה מתמשכת.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

לדוגמה, אם רכשתם התחייבות שנתית בשעה 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. אם מצב ההתאמה הוא AUTSOCALE_ONLY, הערך של ignore_idle_slots חייב להיות true.

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

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

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

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

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

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

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

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

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

מגבלות

התחזיות לגבי שיריוּן שטחי פרסום כפופות למגבלות הבאות:

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

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

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

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

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

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

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

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

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

שיתוף משבצות זמן פנויות עם קבוצות הזמנות

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

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

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

מגבלות

קבוצות של שיריוּן שטחי פרסום כפופות למגבלות הבאות:

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

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

  • הגודל הכולל של ההזמנות בקבוצה לא יכול לחרוג מ-30,000 משבצות. כולל מגבלות של שינוי גודל אוטומטי.

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

  • לכל ההזמנות בקבוצה צריך להיות אותו מיקום משני.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

שליחת שאילתות לטבלאות ב-BigQuery Omni

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

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

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

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

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

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

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

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

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

אחזור תוצאות שמורות

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

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

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

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

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

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

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

default-pipeline

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

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