הסבר על הזמנות
בדף הזה נסביר איך להשתמש בהזמנות של משבצות כדי לנהל את עומסי העבודה ב-BigQuery.
הזמנות של יחידות קיבולת (Slot)
ב-BigQuery, יחידות קיבולת (slot) מוקצות במאגרי משאבים שנקראים מקומות שמורים. הזמנות מאפשרות לכם לנהל את הקיבולת ולבודד עומסי עבודה בדרכים שמתאימות לארגון שלכם. לדוגמה, אפשר ליצור הזמנה בשם prod לעומסי עבודה של ייצור, והזמנה נפרדת בשם test לבדיקות, כדי שעבודות בדיקה לא יתחרו על משאבים עם עבודות ייצור. לחלופין, אפשר ליצור הזמנות למחלקות שונות בארגון כדי להקצות עלויות של מחשוב.
בנוסף, מכסות מאפשרות לאדמינים להגדיר את קיבולת המשבצות על סמך עומסי העבודה שהוקצו להן. לדוגמה, אם יש לכם עומסי עבודה ברמת הייצור שרגישים לזמן, כדאי ליצור הזמנה עם מספיק משבצות זמן בסיסיות. יחידות קיבולת בסיסיות זמינות תמיד ומבטיחות שלמקום השמור תמיד תהיה קיבולת מספקת. עם זאת, אם משתמשים בהזמנות עם שינוי גודל אוטומטי, הקיבולת בהזמנה לא בהכרח שמורה. כשמשתמשים בהזמנות עם התאמה אוטומטית לעומס, הקיבולת גדלה או קטנה באופן אוטומטי בהתאם לביקוש. חיוב על מקומות שמורים של התאמה אוטומטית לעומס מתבצע לפי שנייה, עם משך מינימלי של דקה אחת כברירת מחדל. אתם יכולים להפעיל את התאמת הקיבולת הדינמית ב-BigQuery ברמת ההזמנה כדי לשלם לפי שנייה ללא משך מינימלי. בנוסף, אפשר לשתף משבצות זמן פנויות בין הזמנות.
הקצאת הזמנות
כדי להשתמש במשבצות שהוקצו בהזמנה, צריך להקצות אותה לפרויקט אחד או יותר, לתיקיות או לארגונים. כשמריצים עבודה בפרויקט, היא משתמשת במשבצות מההזמנה שהוקצתה לה. משאבים יכולים לרשת הקצאות מההורה שלהם בCloud de Confiance by S3NS היררכיית המשאבים. אם פרויקט לא משויך להזמנה, הוא מקבל בירושה את השיוך של התיקייה או הארגון ברמת ההורה, אם הם קיימים.
פרויקטים משתמשים בהזמנה הספציפית ביותר בהיררכיית המשאבים שאליה הם משויכים. הקצאה לתיקייה מבטלת הקצאה לארגון, והקצאה לפרויקט מבטלת הקצאה לתיקייה.
אם לפרויקט לא הוקצתה הזמנה או שהוא לא ירש ממנה, העבודה תתבצע בתמחור לפי דרישה. מידע נוסף על היררכיית המשאבים זמין במאמר ארגון משאבי 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 MLCREATE MODELשמשתמשות בשירותים חיצוניים ל-BigQuery. מידע נוסף מופיע במאמר בנושא הקצאת משבצות לעומסי עבודה של BigQuery ML. אי אפשר להזמין חדרים ב-ML_EXTERNALבמהדורת Standard.
PIPELINE: אפשר להשתמש בהזמנה הזו לעבודות טעינה וחילוץ.כברירת מחדל, עבודות טעינה וחילוץ הן בחינם ומשתמשות במאגר משותף של משבצות. מערכת BigQuery לא מבטיחה את זמינות הקיבולת במאגר המשותף הזה או את קצב העברת הנתונים שאתם רואים. אם אתם טוענים כמויות גדולות של נתונים, יכול להיות שהעבודה שלכם תמתין עד שמשבצות יהיו זמינות.
כשמשימות טעינה וחילוץ מוקצות להזמנה, הן מאבדות את הגישה למאגר החינמי. כדאי לעקוב אחרי השימוש במשאבים ובמשימות כדי לוודא שההזמנות שלכם מספקות קיבולת מספקת לזמני משך המשימות הנדרשים.
אי אפשר להקצות משבצות זמן ספציפיות למטלות ספציפיות. מתזמן BigQuery מטפל בהקצאת משבצות למשימות באמצעות הזמנה. למידע נוסף על השימוש במשבצות, אפשר לעיין במאמר בנושא תזמון הוגן ב-BigQuery.
הקצאת הזמנות בצורה גמישה
ב-BigQuery אפשר לציין בזמן הריצה את ההזמנה שבה השאילתה צריכה לפעול. כך תוכלו לשלוט יותר בהקצאת משאבים ולהימנע מיצירת פרויקטים מיותרים. אתם יכולים לציין הזמנה בזמן הריצה באמצעות CLI, UI, SQL או API, ובכך לבטל את הקצאת ההזמנה שמוגדרת כברירת מחדל לפרויקט, לתיקייה או לארגון. ההזמנה שהוקצתה צריכה להיות באותו אזור שבו מופעלת השאילתה. המטלות האלה נתמכות בכל המהדורות.
כדי להשתמש בהזמנה כשמריצים את השאילתה, צריך גישה להזמנה.
אם המהדורה שמוקצית כברירת מחדל בהזמנה היא Enterprise Plus, אפשר לשנות אותה רק להזמנה של Enterprise Plus.
כדי להקצות הזמנות בצורה גמישה, מריצים שאילתה אינטראקטיבית ומציינים את ההזמנה.
שילוב של מקומות שמורים עם חיוב על פי דרישה
אפשר להשתמש בחיוב לפי קיבולת באזור אחד ובחיוב לפי דרישה באזור אחר. כברירת מחדל, כל הפרויקטים משתמשים בחיוב על פי דרישה. באזור מסוים, אתם יכולים להפעיל חיוב לפי קיבולת בפרויקט, בתיקייה או בארגון על ידי הקצאה שלהם להזמנה. לדוגמה, אם אתם רוכשים התחייבות לשימוש במשבצת באזור מרובה בארה"ב ומקצים את הארגון שלכם להזמנה שמוגדרת כברירת מחדל, הארגון שלכם יחויב על בסיס קיבולת באזור מרובה בארה"ב, אבל ימשיך להיות מחויב על בסיס ביקוש בכל האזורים האחרים.
באזור מסוים, אפשר לשלב בין חיוב לפי קיבולת לבין חיוב על פי דרישה על ידי הקצאת פרויקטים להזמנה באופן מפורש. כל פרויקט שלא משויך להזמנה ימשיך להיות מחויב לפי תעריף על פי דרישה. אפשר גם להקצות פרויקט באופן מפורש לשימוש בחיוב על פי דרישה על ידי הקצאת מזהה ההזמנה none. האפשרות הזו שימושית אם אתם מקצים תיקייה או ארגון להזמנה, אבל רוצים שחלק מהפרויקטים בתיקייה או בארגון ישתמשו בחיוב על פי דרישה. מידע נוסף זמין במאמר הקצאת פרויקט לאף אחד.
בפרויקטים עם חיוב לפי דרישה נעשה שימוש בקיבולת שונה מהקיבולת שהתחייבתם לה. הפרויקטים האלה לא משפיעים על הזמינות של הקיבולת שהתחייבתם לה. אם אתם שולחים שאילתות לנתונים במאגר הזמני של הסטרימינג, לא תחויבו על בייטים שעברו עיבוד ממאגר הזמני של הסטרימינג בעבודות לפי דרישה, אבל עבודות שמופעלות בהזמנה משתמשות במשבצות כדי לעבד את הבייטים האלה.
ציון פרויקט ניהול
כשיוצרים התחייבויות והזמנות, הן משויכות ל Cloud de Confiance by S3NS פרויקט. בפרויקט הזה מנוהלים משאבי ההזמנות ב-BigQuery, והוא המקור העיקרי לחיוב על המשאבים האלה. הפרויקט הזה לא חייב להיות אותו פרויקט שמכיל את המשימות או מערכי הנתונים שלכם ב-BigQuery.
מומלץ ליצור פרויקט ייעודי למשאבי הזמנה. הפרויקט הזה נקרא פרויקט הניהול, כי הוא מרכז את החיוב והניהול של ההתחייבויות שלכם. צריך לתת לפרויקט שם תיאורי כמו bq-COMPANY_NAME-admin. לאחר מכן יוצרים פרויקט אחד או יותר כדי לאחסן את העבודות ב-BigQuery.
אפשר להקצות להזמנה רק פרויקטים שנמצאים באותו משאב ארגוני כמו פרויקט הניהול. אם פרויקט הניהול לא שייך לארגון, רק הפרויקט הזה יכול להשתמש במשבצות.
הפרויקט הניהולי מחויב על המשבצות שהוקצו. פרויקטים שמשתמשים במשבצות מחויבים על אחסון אבל לא על המשבצות. אתם יכולים לרכוש יותר מסוג אחד של תוכנית (למשל, תוכנית שנתית ותוכנית לשלוש שנים) ולהוסיף את המקומות לפרויקט ניהול אחד.
מומלץ להגביל את מספר הפרויקטים לניהול. כך אפשר לפשט את ניהול החיוב ואת הקצאת המקומות. מומלץ ליצור פרויקט ניהול אחד לכל ההזמנות של הארגון, אם זה אפשרי. בארגונים מורכבים יכול להיות שיהיה צורך בפרויקטים נוספים לניהול כדי לעמוד בדרישות הניהול או החיוב.
שימוש בכמה פרויקטים לניהול
במקרים מסוימים, כדאי ליצור יותר מפרויקט ניהול אחד:
- כדי להפריד בין העלויות של כמה הזמנות והתחייבויות ליחידות ארגוניות שונות.
- כדי למפות התחייבות למשבצת אחת או יותר לקבוצות שונות של הזמנות.
קיבולת של יחידות קיבולת פנויות לא משותפת בין מקומות שמורים בפרויקטים שונים לניהול.
בדף ניהול קיבולת במסוף BigQuery Cloud de Confiance , אפשר לראות את ההזמנות וההתחייבויות רק של הפרויקט הניהולי שנבחר.
הגדרת הגודל של הזמנות של יחידות קיבולת (Slot)
הארכיטקטורה של BigQuery מאפשרת להגדיל את המשאבים באופן ליניארי. בהתאם לעומס העבודה (workload), גידול הדרגתי בקיבולת צפוי להניב שיפור הדרגתי בביצועים. עם זאת, הוספת קיבולת מגדילה גם את העלויות. לכן, בחירת מספר האפשרויות האופטימלי לרכישה תלויה בדרישות שלכם לגבי ביצועים, תפוקה ושימושיות.
אתם יכולים להתנסות עם מיקומי מודעות בסיסיים ועם מיקומי מודעות שמתרחבים אוטומטית כדי לקבוע את ההגדרה הטובה ביותר של מיקומי מודעות. לדוגמה, אפשר לבדוק את עומס העבודה עם 500 משבצות בסיסיות, אחר כך עם 1,000, אחר כך עם 1,500 ועם 2,000, ולבחון את ההשפעה על הביצועים.
אם באזור שבו נבדקים הביצועים יש יחידות קיבולת פנויות, יכול להיות שמקום שמור יעמוד בדרישות הביצועים עם פחות יחידות קיבולת מהצפוי. הסיבה לכך היא שהמקום השמור השתמש ביחידות הקיבולת הפנויות כדי לעמוד בדרישות יחידות הקיבולת של עומס העבודה. אם זמינות יחידות הקיבולת הפנויות יורדת בגלל שינויים בעומס העבודה בהזמנות אחרות, יכול להיות שביצועי עומס העבודה שלכם ירדו. לכן, כדי שעומסי עבודה שמוגבלים בזמן ופועלים ברמת ייצור יוכלו לפעול, צריך לוודא שההזמנה מסתמכת על עצמה מבחינת קיבולת משבצות. כך נמנעים שינויים במשבצות זמן פנויות שמשפיעים ישירות על ביצועי המשימה.
אחרי שמקצים משבצות ומריצים את עומסי העבודה לפחות שבעה ימים, אפשר להשתמש בכלי להערכת משבצות כדי לנתח את הביצועים ולבדוק את ההשפעה של הוספה או הפחתה של משבצות.
אפשר גם לבדוק את השימוש הנוכחי במשבצות בפרויקטים, יחד עם המחיר החודשי שבחרתם לשלם. למשימות שמופעלות לפי דרישה יש מכסת חריגה של 2,000 משבצות, אבל חשוב לבדוק כמה משבצות הפרויקטים שלכם באמת צורכים באמצעות תצוגות INFORMATION_SCHEMA.JOBS*, Cloud Logging, Jobs API או יומני ביקורת של BigQuery. מידע נוסף מופיע במאמר בנושא מעקב אחרי הזמנות.

ניהול עומסי עבודה באמצעות הזמנות
אתם יכולים להשתמש בהזמנות ב-BigQuery כדי להקצות נפח אחסון בין עומסי עבודה, צוותים או מחלקות. לשם כך, צריך ליצור הזמנות נוספות ולהקצות פרויקטים להזמנות האלה. מקום שמור הוא מאגר מבודד של משאבים, עם היתרון הנוסף של ניצול קיבולת פנויה באזור מסוים בארגון.
לדוגמה, יכול להיות שיש לכם קיבולת כוללת של 1,000 משבצות ושלושה סוגים של עומסי עבודה: מדעי הנתונים, ELT ו-BI.
- אפשר ליצור
dsהזמנה עם 500 משבצות זמן, ולהקצות את כל הפרויקטים הרלוונטיים Cloud de Confiance לdsהזמנה. - אתם יכולים ליצור
eltהזמנה עם 300 משבצות זמן ולהקצות פרויקטים שבהם אתם משתמשים לעומסי עבודה של ELT לeltהזמנה. - אתם יכולים ליצור
biהזמנה עם 200 משבצות, ולהקצות פרויקטים שמחוברים לכלי ה-BI שלכם לbiההזמנה.
במקום לחלק את הקיבולת בין סוגים שונים של עומסי עבודה, אפשר ליצור הזמנות לצוותים או למחלקות ספציפיים. התאמה אוטומטית לעומס מאפשרת לבודד עומסי עבודה בהרבה הזמנות, וכך לנהל את עומסי העבודה בצורה גמישה ומפורטת יותר.
ניהול הזמנות באזורים שונים
הזמנות הן משאבים אזוריים. אי אפשר להשתמש במשבצות שנקנו ובהזמנות שנוצרו באזור אחד באזור אחר. אפשר להקצות פרויקטים, תיקיות וארגונים להזמנות באזור אחד ולהפעיל אותם על פי דרישה באזור אחר. כדי לנהל הזמנות באזור אחר, צריך לשנות את האזור בדף ניהול הקיבולת ב-BigQuery:
- במסוף BigQuery, לוחצים על Reservations (הזמנות).
- לוחצים על בורר המיקום ובוחרים אזור שבו רוצים לנהל את השמירה.
- אחרי שבוחרים אזור, אפשר לרכוש משבצות זמן, ליצור הזמנות ולהקצות פרויקט להזמנה.
ניהול הזמנות בארגונים מורכבים
הזמנות הן משאבים בהיקף הארגון. כשיוצרים הזמנות, אפשר להקצות קיבולת לכל פרויקט באותו Cloud de Confianceארגון. רוב המשתמשים ב-BigQuery משתמשים בפרויקט אדמין יחיד להזמנות ולתחייבויות שלהם. פרויקט הניהול הזה משויך לחשבון לחיוב ב-Cloud, שמחויב על הקיבולת.
עם זאת, אם יש לכם ארגון מורכב עם כמה מחלקות שמנהלות את החשבונות שלהן, כדאי להשתמש בכמה פרויקטים לניהול. שימו לב שמשבצות זמן פנויות יכולות להיות משותפות רק בין הזמנות שנוצרו באותו פרויקט ניהול. חשוב להכיר את המכסות והמגבלות של הזמנות ופרויקטים לניהול.
אם אתם משתמשים בכמה ארגונים ב- Cloud de Confiance , אתם צריכים ליצור לפחות פרויקט ניהול אחד לכל ארגון, ואז לנהל את ההזמנות וההתחייבויות של כל ארגון בפרויקט הניהול שקשור אליו. אי אפשר לשתף נפח אחסון בין ארגונים.
ניהול אמצעי בקרה משופרים על הזמנות
הזמנות ב-BigQuery מאפשרות שליטה משופרת באופן השימוש בהזמנות ומספקות תכונות אבטחה נוספות. אתם יכולים להגדיר כללי מדיניות שמציינים אילו משתמשים או קבוצות יכולים לגשת להזמנות ספציפיות ולהשתמש בהן. כך אפשר לוודא שמידע אישי רגיש ועומסי עבודה (workloads) מבודדים ומוגנים. אדמינים של הזמנות יכולים לקבוע בדיוק אילו משתמשים או חשבונות שירות (חשבונות ראשיים) מורשים להשתמש בהזמנות ספציפיות. כדי לעשות את זה, משתמשים בתנאי IAM שמוחל על הפרויקט הניהולי (הפרויקט שבו מנוהלות ההזמנות).
לדוגמה, אפשר ליצור תנאי IAM שמעניק את ההרשאה reservations.use לקבוצה ספציפית של משתמשים לכל ההזמנות שהשם שלהן מתחיל בקידומת מסוימת. כך תוכלו לנהל את הגישה לקבוצות של הזמנות קשורות.
למשתמשים צריכה להיות ההרשאה reservations.use כדי לבטל את ההקצאה של ההזמנה שמוגדרת כברירת מחדל למשימה שלהם, או כדי להריץ את המשימה לפי דרישה אם כבר קיימת הקצאה של הזמנה לפרויקט. ההרשאה הזו ניתנת לתפקידים roles/bigquery.resourceAdmin ו-roles/bigquery.resourceEditor. אתם יכולים להעניק גישה למשתמשים פרטיים, לקבוצות או לחשבונות שירות. אפשר גם להגדיר מדיניות על סמך מאפייני הזמנה כמו שם, כי תנאי IAM תומכים בבקרת גישה על סמך מאפיינים.
במאמר שליטה בגישה להזמנות מוסבר איך להעניק תנאי IAM להזמנות.
התחייבויות ליחידות קיבולת (Slot)
התחייבות לשימוש במשבצת היא רכישה של משבצות לפרק זמן מוגדר. אפשר לרכוש יחידות קיבולת במרווחים של 50 יחידות, עד מכסת יחידות הקיבולת האזורית. התחייבויות לקיבולת הן אופציונליות, אבל הן יכולות להוזיל את העלויות של עומסי עבודה במצב יציב. התחייבויות לשימוש ביחידות קיבולת (Slot) משמשות לכיסוי יחידות הקיבולת הבסיסיות להזמנות שלכם. אחר כך, כל קיבולת לא מנוצלת של יחידות קיבולת תשותף כיחידות קיבולת פנויות בין שאר המקומות השמורים. התחייבויות לשימוש ביחידות קיבולת לא חלות על יחידות קיבולת עם התאמה אוטומטית לעומס. כדי לוודא שתקבלו את המחיר המוזל על ההתחייבות לשימוש במשבצות, חשוב לוודא שההתחייבות לשימוש במשבצות מספיקה לכיסוי משבצות הבסיס. אין הגבלה על מספר ההתחייבויות שאפשר ליצור. החיוב מתחיל ברגע שרכישת ההתחייבות הושלמה. למידע על המחירים העדכניים, אפשר לעיין במחירון של התחייבות לקיבולת.
התחייבות שנתית. אתם רוכשים התחייבות ל-365 ימים. אחרי 365 ימים, תוכלו לבחור אם לחדש את התוכנית או לעבור לתוכנית מחויבות מסוג אחר.
התחייבות לשלוש שנים. אתם רוכשים התחייבות לשלוש שנים. אחרי 3 שנים (1,095 ימים) תוכלו לבחור אם לחדש את המינוי או לעבור לתוכנית התחייבות מסוג אחר.
בסוף תקופת המחויבות, המחויבות שלכם תתחדש בהתאם לתוכנית החידוש שנבחרה.
בתוכניות עם התחייבות לשנה או לשלוש שנים, החיוב הוא חודשי. עם זאת, ההתחייבות הכספית היא לתקופת ההתחייבות כולה, ואי אפשר לבטל אותה על בסיס חודשי. השימוש שלכם מתעדכן בדוח החיוב מדי יום, ואפשר לצפות בו בכל שלב.
התחייבויות ליחידות קיבולת (Slots) כפופות לזמינות הקיבולת. כשמנסים לרכוש התחייבויות לשימוש במשבצות, אין ערובה לכך שהרכישה תצליח. אבל אחרי שהרכישה של ההתחייבות תסתיים בהצלחה, הקיבולת תהיה זמינה עד שתוקף ההתחייבות יפוג.
אם אתם רוכשים התחייבויות לשימוש במשבצות לפני שאתם יוצרים הזמנה, נוצרת אוטומטית הזמנה בשם default כדי להקל עליכם. default אין התנהגות מיוחדת להזמנה. אם צריך, אפשר ליצור הזמנות נוספות או להשתמש בהזמנה שמוגדרת כברירת מחדל.
מומלץ להקצות ערך בסיסי שאינו אפס להזמנות כדי להשיג את הביצועים הצפויים ביותר ואת הקיבולת הראשונית. אפשר להגדיר מקום שמור עם אפס יחידות קיבולת (Slot) בסיסיות ולהגדיר קיבולת מקסימלית במטרה להשתמש בתכונות של התאמה אוטומטית לעומס (automatic scaling), אבל היעילות של הגישה הזו תלויה לחלוטין בהפעלה נכונה של התאמה אוטומטית לעומס (automatic scaling) וברכישה פעילה של יחידות קיבולת (Slot). אם התאמה אוטומטית לעומס לא פועלת בצורה יעילה בהזמנה כזו ללא בסיס, היא חוזרת להסתמך רק על קיבולת של יחידות קיבולת פנויות, שלא מבטיחה ביצועים טובים ויכולה להוביל למהירויות לא צפויות או נמוכות של שאילתות.
חידוש התחייבויות
כשרוכשים התחייבות, בוחרים תוכנית חידוש. אפשר לשנות את תוכנית החידוש של מינוי עם התחייבות בכל שלב עד שהמינוי יפוג. אלו תוכניות החידוש שזמינות:
- ללא. אחרי שתקופת ההתחייבות מסתיימת, ההתחייבות מוסרת. ההזמנות לא מושפעות.
- שנתי. אחרי שתקופת ההתחייבות מסתיימת, ההתחייבות מתחדשת לשנה נוספת.
- שלוש שנים. בסיום תקופת ההתחייבות, ההתחייבות מתחדשת לשלוש שנים נוספות.
מידע על רכישה וחידוש של התחייבויות זמין במאמר בנושא יצירת התחייבות לקיבולת.
לדוגמה, אם רכשתם התחייבות שנתית בשעה 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. המקום השמור צורך קודם את מספר יחידות הקיבולת הבסיסיות שהוגדר, אחר כך את כל יחידות הקיבולת הפנויות, ואז את יחידות הקיבולת שנוספו באמצעות התאמה אוטומטית לעומס.יחידות קיבולת בסיסיות + יחידות קיבולת עם שינוי גודל אוטומטי: קיבולת יחידות הקיבולת בהזמנה גדולה מאפס, ומצב שינוי הגודל הוא
AUTOSCALE_ONLY. ההזמנה צורכת קודם את משבצות הזמן הבסיסיות שהוגדרו, ואז את משבצות הזמן של ההתאמה האוטומטית לעומס.יחידות קיבולת (Slot) בלי פעילות + יחידות קיבולת (Slot) בהתאמה אוטומטית לעומס: קיבולת יחידות הקיבולת (Slot) במקום השמור היא אפס, ומצב ההתאמה הוא
ALL_SLOTS. קודם כל, המקום השמור משתמש בכל יחידות הקיבולת הפנויות שזמינות, ואז ביחידות הקיבולת שנוספו באמצעות התאמה אוטומטית לעומס.יחידות קיבולת (Slot) לא פעילות: קיבולת יחידות הקיבולת (Slot) בהזמנה היא אפס, ומצב ההרחבה הוא
IDLE_SLOTS_ONLY. ההזמנה תנצל את כל המשבצות הפנויות עד למספר המקסימלי שהוגדר. יכול להיות שההזמנה לא תגיע למקסימום אם לא יהיו מספיק משבצות זמן פנויות.
בתרשים הבא מוצגות אפשרויות ההגדרה השונות שזמינות:
בתרשים, חמש האפשרויות להגדרה מראות איך BigQuery צורך משבצות עד למקסימום שהוגדר. שלוש האפשרויות הראשונות מכילות משבצות בסיסיות, ואילו באפשרויות האחרות לא מוגדרות משבצות בסיסיות.
מגבלות
היכולת לחזות את הביצועים של שיריון שטחי פרסום כפופה למגבלות הבאות:
התכונה 'תחזיות לגבי הזמנות' זמינה רק במהדורות Enterprise ו-Enterprise Plus, אלא אם בוחרים באפשרות
AUTOSCALE_ONLY.התחזית לגבי הזמנת המקום היא על בסיס המאמץ הטוב ביותר. יכול להיות שהשימוש הכולל עדיין יעלה על המקסימום שהוגדר.
המאמרים הבאים
- מידע נוסף על עבודה עם תחזיות של הזמנות זמין במאמר יצירת הזמנה עם משבצות זמן ייעודיות.
קבוצות הזמנות
כדי להשתמש בקבוצות של הזמנות, קודם צריך להפעיל את התכונה הזמנה הוגנת.
קבוצות הזמנות מאפשרות לנהל את המאפיינים של כמה הזמנות, בדומה לאופן שבו קבוצות נתונים מארגנות טבלאות.
הזמנות באותה קבוצת הזמנות ישתפו ביניהן את המשבצות הפנויות לפני שהן יהיו זמינות לארגון:
שיתוף של יחידות קיבולת פנויות עם קבוצות הזמנות
משבצות זמן פנויות מחולקות באופן שווה בין הזמנות שלא מקובצות ובין קבוצות של הזמנות, ואז באופן שווה בתוך קבוצות של הזמנות.
בדוגמה הבאה, יש שלוש הזמנות ו-1,200 משבצות זמן פנויות. אם אין קבוצות של מקומות שמורים, לכל מקום שמור יש חלק שווה של 400 יחידות קיבולת (Slot) בלי פעילות. כשמקבצים את הזמנות 1 ו-2, חלוקת המיקומים הפנויים משתנה. קודם כל, המשבצות הפנויות מחולקות באופן שווה בין קבוצת ההזמנות לבין הזמנה 3 (600 משבצות פנויות לכל אחת). לאחר מכן, 600 המשבצות הפנויות בקבוצת ההזמנות מחולקות באופן שווה בין הזמנה 1 והזמנה 2.
מגבלות
קבוצות של שיריוּן שטחי פרסום כפופות למגבלות הבאות:
השריונים שמשתפים קבוצת שריונים חייבים להשתייך לאותו פרויקט ולאותו אזור.
צריך להפעיל בפרויקט את התכונה הקצאת משאבים הוגנת על בסיס הזמנה.
לכל ההזמנות בקבוצה צריך להיות אותו מהדורה.
אי אפשר לשלב באותה קבוצה מקומות שמורים עם הגדרות של תוכנית התאוששות מאסון (DR) ומקומות שמורים בלי הגדרות כאלה. בכל המקומות השמורים בקבוצה צריך להגדיר תוכנית התאוששות מאסון (DR), או להשבית אותה.
אם הפעלתם את האפשרות 'תוכנית התאוששות מאסון (DR)' להזמנות בקבוצה, כל ההזמנות חייבות להשתמש באותה קבוצת אזורים למיקומים הראשיים והמשניים שלהן.
מידע נוסף על עבודה עם קבוצות של מקומות שמורים זמין במאמר תעדוף יחידות קיבולת בלי פעילות באמצעות קבוצות של מקומות שמורים.
פתרון בעיות בהזמנות
הקטע הזה נועד לעזור לפתור בעיות נפוצות שנתקלים בהן במהלך אינטראקציה עם הזמנות, כמו קביעת הסיבות לכך שהזמנה לא משמשת לעבודת 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, המשמעות היא שהבקשה חורגת ממגבלת המכסה שהוגדרה לפרויקט.
כדי לפתור את השגיאה, אפשר לנסות אחת מהאפשרויות הבאות:
- מוסיפים מספר קטן יותר של מיקומי מודעות להזמנה כדי לא לחרוג ממגבלת המכסה.
- מגישים בקשה להגדלת המכסה באזור המתאים. איך מבקשים להגדיל את המכסות?
הזמנה שלא נעשה בה שימוש על ידי 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 הזמנה.