מבוא להזמנות שמתאימות לגרסאות קודמות
הזמנות והתחייבויות לפי תעריף קבוע פועלות כיחידות קיבולת (Slot) במהדורת Enterprise.הזמנות ב-BigQuery מאפשרות לעבור מתמחור לפי דרישה לתמחור לפי קיבולת. בתמחור לפי קיבולת, אתם משלמים על קיבולת ייעודית או על קיבולת עם שינוי גודל אוטומטי לעיבוד שאילתות, במקום לשלם על כל שאילתה בנפרד.
הזמנות מאפשרות להקצות קיבולת של שאילתות, שנמדדת במשבצות זמן, לעומסי עבודה שונים או לחלקים שונים בארגון.
כשעובדים עם הזמנות שמבוססות על מהדורות BigQuery, אפשר ליצור התחייבות לקיבולת, אבל זה לא חובה. עם זאת, אם אתם מריצים עומסי עבודה קבועים, כדאי ליצור התחייבות כזו כדי לחסוך בעלויות.
סקירה כללית
ב-BigQuery יש שני מודלים לתמחור של מחשוב (ניתוח):
תמחור על פי דרישה: אתם משלמים על הנתונים שנסרקו על ידי השאילתות. יש לכם קיבולת קבועה לעיבוד שאילתות לכל פרויקט, והעלות מבוססת על מספר הבייטים שעובדו על ידי כל שאילתה.
תמחור לפי קיבולת: אתם משלמים על קיבולת ייעודית או על קיבולת עם שינוי גודל אוטומטי לעיבוד שאילתות, שנמדדת במשבצות זמן, לאורך תקופה מסוימת. לכמה שאילתות יש את אותה קיבולת משבצות.
כברירת מחדל, החיוב מתבצע לפי מודל התמחור על פי דרישה. באמצעות הזמנות, אתם יכולים לעבור לתמחור לפי קיבולת ולהשתמש בשינוי גודל אוטומטי של משבצות ולקנות התחייבויות לקיבולת בהנחה. אין חיוב על בייטים שעברו עיבוד כשמשתמשים במודל מבוסס-קיבולת.
אפשר לשלב בין שני מודלים של חיוב. לדוגמה, אתם יכולים להריץ עומסי עבודה מסוימים עם תמחור לפי דרישה ועומסי עבודה אחרים עם תמחור לפי קיבולת. מכיוון שמודל החיוב מוגדר לכל פרויקט, תצטרכו להשתמש בכמה פרויקטים כדי להריץ את עבודות השאילתות.
היתרונות של הזמנות
היתרונות של שימוש בהזמנות ב-BigQuery כוללים:
יכולת חיזוי. תמחור לפי קיבולת מאפשר ליהנות מעלויות צפויות ועקביות. אתם מגדירים מראש את התקציב המקסימלי של העלות, ויכולים גם לנצל את היתרונות של התחייבויות לשימוש במשבצות, שמציעות קיבולת ייעודית שוטפת בתעריף מוזל.
גמישות. אתם יכולים לבחור כמה קיבולת ייעודית להקצות לעומס עבודה, או לאפשר ל-BigQuery לשנות את הקיבולת באופן אוטומטי בהתאם לדרישות של עומס העבודה. החיוב מתבצע לפי משבצות הזמן שנוצלו, בתוספת של לפחות שנייה אחת.
ניהול עומסי עבודה (workload). לכל עומס עבודה יש מאגר מוגדר של משאבי מחשוב ב-BigQuery שזמינים לשימוש. במקביל, אם עומס עבודה לא משתמש בכל המשבצות הייעודיות שלו, כל המשבצות שלא בשימוש משותפות באופן אוטומטי בין עומסי העבודה האחרים.
רכישה מרכזית: אתם יכולים לרכוש ולהקצות משבצות לכל הארגון. לא צריך לרכוש משבצות לכל פרויקט שמשתמש ב-BigQuery.
הזמנות
הקיבולת של BigQuery נמדדת ביחידות קיבולת (Slot), שמייצגות מעבדים וירטואליים שמשמשים שאילתות. באופן כללי, אם מקצים יותר משבצות, אפשר להריץ יותר שאילתות בו-זמנית, ושאילתות מורכבות יכולות לרוץ מהר יותר.
יחידות הקיבולת (Slot) מוקצות במאגרים שנקראים הזמנות. הזמנות מאפשרות להקצות את יחידות הקיבולת בדרכים שמתאימות לארגון שלכם.
לדוגמה, אפשר ליצור הזמנה בשם prod לעומסי עבודה של ייצור, והזמנה נפרדת בשם test לבדיקות. כך, משימות הבדיקה לא מתחרות על משאבים שדרושים לעומסי העבודה של הייצור. או שתיצרו הזמנות למחלקות שונות בארגון.
הזמנות יכולות לכלול משבצות בסיסיות, שתמיד מוקצות, וגם משבצות עם שינוי גודל אוטומטי, שנוספות או מוסרות באופן דינמי בהתאם לדרישות של עומס העבודה.
אם קונים התחייבויות לשימוש במשבצות זמן לפני שיוצרים הזמנה, נוצרת אוטומטית הזמנה בשם default. אין חשיבות מיוחדת להזמנה default – היא נוצרת רק כדי להתחיל בעבודה בקלות. אתם יכולים להחליט אם אתם צריכים הזמנות נוספות או שאתם יכולים להשתמש בהזמנה שמוגדרת כברירת מחדל.
כדי להשתמש ביחידות הקיבולת (Slots) שהקציתם, אתם צריכים להקצות פרויקט אחד או יותר למקום השמור, כמו שמתואר בקטע הבא.
הזמנה היא הרמה הנמוכה ביותר שבה אפשר לציין הקצאת משבצות. הקצאת יחידות קיבולת במסגרת הזמנה מתבצעת על ידי מתזמן BigQuery.
מטלות
כדי להשתמש ביחידות הקיבולת (Slots) שהקציתם, עליכם להקצות פרויקט, תיקייה או ארגון אחד או יותר למקום שמור. כל רמה בהיררכיית המשאבים יורשת את ההקצאה מהרמה שמעליה. במילים אחרות, אם לא מוקצה פרויקט או תיקייה, הפרויקט או התיקייה האלה מקבלים בירושה את ההקצאה של תיקיית האב או הארגון שלהם, אם יש כאלה. מידע נוסף על ארגון משאבי BigQuery זמין במאמר מבוא להיררכיית המשאבים.
כשמתחילים משימה מפרויקט שמוקצה להזמנה, המשימה משתמשת במשבצות של ההזמנה הזו. אם פרויקט לא משויך להזמנה (ישירות או בירושה מהתיקייה או מהארגון ברמת ההורה), העבודות בפרויקט הזה יחויבו לפי תמחור על פי דרישה.
מטלות None מייצגות היעדר מטלה. פרויקטים שהוקצו ל-None משתמשים בתמחור לפי דרישה. תרחיש השימוש הנפוץ להקצאות של None הוא הקצאת ארגון להזמנה, והחרגת פרויקטים או תיקיות מסוימים מההזמנה הזו על ידי הקצאתם ל-None. מידע נוסף זמין במאמר הקצאת פרויקט לערך None.
כשיוצרים מטלה, מציינים את סוג העבודה של המטלה:
QUERY: משתמשים בהזמנה הזו למשימות של שאילתות, כולל שאילתות SQL, DDL, DML ו-BigQuery ML.
PIPELINE: אפשר להשתמש בהזמנה הזו לעבודות טעינה וחילוץ.כברירת מחדל, עבודות טעינה וחילוץ הן בחינם ומשתמשות במאגר משותף של משבצות זמן. BigQuery לא מספק ערבויות לגבי הקיבולת הזמינה של מאגר משותף זה או לגבי קצב העברת הנתונים שאתם רואים. אם אתם טוענים כמויות גדולות של נתונים, יכול להיות שהעבודה שלכם תמתין עד שמשבצות יהיו זמינות. במקרה כזה, כדאי לרכוש משבצות זמן ייעודיות ולהקצות להן משימות של צינורות. מומלץ ליצור מקום שמור ייעודי נוסף עם השבתה של שיתוף יחידות קיבולת פנויות.
כשמשימות טעינה מוקצות להזמנה, הן מאבדות את הגישה למאגר החינמי. עוקבים אחרי הביצועים כדי לוודא שיש מספיק קיבולת לעבודות. אחרת, יכול להיות שהביצועים יהיו גרועים יותר מאשר אם הייתם משתמשים במאגר החינמי.
BACKGROUND: משתמשים בהקצאת המקום הזו כשבוחרים להשתמש בהקצאת מקום משלכם כדי להריץ משימות ברקע של ניהול אינדקסים של חיפוש ב-BigQuery או של העברת נתונים (CDC) ב-BigQuery. אפשר גם להשתמש בהזמנה הזו כשמשכפלים מסדי נתונים של מקור ל-BigQuery באמצעות פעולות ההחלה ברקע של Datastream. אי אפשר להזמין חשיפות ב-BACKGROUNDבמהדורה הרגילה.
ML_EXTERNAL: משתמשים בהזמנה הזו לשאילתות BigQuery ML שמשתמשות בשירותים חיצוניים ל-BigQuery. מידע נוסף מופיע במאמר בנושא הקצאת משבצות לעומסי עבודה של BigQuery ML. אי אפשר להזמין חשיפות ב-ML_EXTERNALבמהדורה הרגילה.
אי אפשר להקצות משבצות להקצאות ספציפיות. מתזמן BigQuery מטפל בהקצאת משבצות להקצאות בהזמנה.
התחייבויות
מחויבות לקיבולת היא רכישה של כמות קבועה של קיבולת חישוב ב-BigQuery למשך תקופת זמן מינימלית. התחייבויות לקיבולת הן אופציונליות בהזמנות שנוצרו באמצעות מהדורה, אבל הן יכולות לחסוך בעלויות של עומסי עבודה במצב יציב.
ב-BigQuery יש כמה תוכניות התחייבות לבחירה. ההבדלים ביניהם הם בעיקר בעלות ובמשך ההתחייבות המינימלי. למידע על המחירים העדכניים, אפשר לעיין בתמחור של התחייבות לקיבולת.
התחייבות שנתית. אתם רוכשים התחייבות ל-365 ימים. אחרי 365 ימים, תוכלו לבחור אם לחדש את התוכנית או לעבור לתוכנית מחויבות מסוג אחר.
התחייבות חודשית. אתם רוכשים התחייבות ל-30 ימים לפחות. אחרי 30 ימים, אפשר למחוק את התוכנית בכל שלב.
יחידות קיבולת גמישות. אתם רוכשים התחייבות ל-60 שניות. אפשר למחוק אותו בכל שלב אחרי 60 שניות. משבצות גמישות הן דרך טובה לבדוק את הביצועים של עומסי העבודה עם חיוב לפי תעריף קבוע, לפני שרוכשים התחייבות לטווח ארוך יותר. הן שימושיות גם לטיפול בביקוש מחזורי או עונתי, או לאירועים עם עומס גבוה כמו עונת המס.
לא משנה איזו תוכנית תבחרו, התוקף של המקומות לא יפוג בסוף תקופת ההתחייבות. המשבצות נשארות שלכם ותחויבו עליהן עד שתמחקו אותן. אפשר גם לשנות את סוג התוכנית אחרי משך המינימום.
הזמינות של יחידות הקיבולת (Slots) תלויה בקיבולת הזמינה. כשמנסים לרכוש התחייבויות לשימוש במשבצות, אין ערובה לכך שהרכישה תצליח. עם זאת, אחרי שתרכשו התחייבות בהצלחה, הקיבולת שלכם תהיה מובטחת עד שתמחקו את ההתחייבות.
פרטים נוספים על התוכניות האלה זמינים במאמר בנושא תוכניות עם התחייבות.
הקצאת יחידות קיבולת (Slot) בהזמנות
BigQuery מקצה קיבולת של יחידות קיבולת בהזמנה אחת באמצעות אלגוריתם שנקרא תזמון הוגן.
מתזמן BigQuery אוכף שיתוף שווה של משבצות בין פרויקטים עם שאילתות פעילות בהזמנה, ולאחר מכן בין משימות של פרויקט נתון. המתזמן מספק הוגנות בסופו של דבר. יכול להיות שיהיו תקופות קצרות שבהן חלק מהמשימות יקבלו חלק לא פרופורציונלי מהמשבצות, אבל מתזמן המשימות יתקן את זה בסופו של דבר. המטרה של המתזמן היא למצוא איזון בין גישה אגרסיבית מדי לפינוי משימות שפועלות (שמובילה לבזבוז של זמן המשבצת) לבין גישה מקלה מדי (שמובילה לכך שמשימות עם משימות ארוכות מקבלות חלק לא פרופורציונלי מזמן המשבצת).
אם משימה חשובה צריכה באופן עקבי יותר משבצות ממה שהיא מקבלת מהמתזמן, כדאי ליצור הזמנה נוספת עם מספר מובטח של משבצות ולהקצות את המשימה להזמנה הזו. מידע נוסף זמין במאמר בנושא ניהול עומסי עבודה.
משבצות זמן פנויות
בכל זמן נתון, יכול להיות שחלק מהמשבצות יהיו פנויות. הנתונים האלה יכולים לכלול:
- התחייבויות לשימוש ביחידות קיבולת שלא הוקצו להזמנות.
- משבצות שמוקצות לבסיס של הזמנה אבל לא נמצאות בשימוש כרגע.
כברירת מחדל, שאילתות שמופעלות במקום שמור משתמשות אוטומטית ביחידות קיבולת פנויות ממקומות שמורים אחרים באותו פרויקט ניהול. כלומר, אפשר להריץ תמיד עבודה כל עוד יש קיבולת. אפשר לבטל באופן מיידי את הקיבולת הפנויה ולהחזיר אותה להקצאה המקורית של המקום השמור לפי הצורך, בלי קשר לעדיפות של השאילתה שזקוקה למשאבים. הפעולה הזו מתבצעת באופן אוטומטי בזמן אמת.
כדי להשבית את הפונקציונליות הזו ולחייב שימוש בהזמנה רק במשבצות שהוקצו לה, צריך להגדיר את ignore_idle_slots לערך true. הזמנות עם
ignore_idle_slots שמוגדר לtrue לא מקבלות משבצות זמן פנויות.
אי אפשר לשתף משבצות פנויות בין הזמנות של מהדורות שונות. אפשר לשתף רק משבצות בסיסיות או משבצות שהוקצו. משבצות שניתנות להרחבה אוטומטית יכולות להיות זמינות באופן זמני, אבל אי אפשר לשתף אותן כי הן עשויות להצטמצם.
כל עוד הערך של ignore_idle_slots הוא false, אפשר להגדיר במקום שמור את הערך 0 למספר המשבצות ועדיין תהיה גישה למשבצות שלא נעשה בהן שימוש. אם אתם משתמשים רק בdefault
הזמנה, מומלץ להגדיר אותה כך. אחר כך תוכלו להקצות פרויקט או תיקייה להזמנה הזו, והיא תשתמש רק במשבצות פנויות.
הקצאות מסוג ML_EXTERNAL הן חריג להתנהגות שתוארה קודם. אי אפשר להפסיק את השימוש ביחידות קיבולת (slots) שמשמשות למשימות של יצירת מודלים חיצוניים של BigQuery ML. כלומר, יחידות הקיבולת בהזמנה עם סוגי ההקצאה ml_external ו-query זמינות למשימות אחרות של שאילתות רק כשהן לא בשימוש על ידי משימות ML_EXTERNAL.
בנוסף, המשימות האלה לא משתמשות ביחידות קיבולת (Slots) פנויות ממקומות שמורים אחרים.
מגבלות
- אי אפשר לשתף הזמנות שקונים עם ארגונים אחרים.
- צריך ליצור הזמנה נפרדת ופרויקט ניהול נפרד לכל ארגון.
- בכל ארגון יכולים להיות עד 10 פרויקטים לניהול עם התחייבויות פעילות במיקום אחד.
- אי אפשר לשתף קיבולת פנויה בין ארגונים או בין פרויקטים שונים לניהול באותו ארגון.
- התחייבויות הן משאב אזורי. אי אפשר להשתמש בהתחייבויות שנרכשו באזור אחד או במספר אזורים באזורים אחרים או במספר אזורים אחרים. אי אפשר להעביר התחייבויות בין אזורים או בין אזורים לאזורים מרובים.
- אי אפשר להעביר התחייבויות שנרכשו בפרויקט ניהול אחד לפרויקט ניהול אחר.
- אי אפשר להשתמש בהתחייבויות שנרכשו עם מהדורה אחת עם הזמנות של מהדורה אחרת.
- משבצות זמן פנויות לא משותפות בין הזמנות של מהדורות שונות.
- אי אפשר לשתף מיקומי מודעות עם שינוי גודל אוטומטי כי הגודל שלהם יוקטן כשכבר לא יהיה בהם צורך.
מכסות
מכסת המשבצות היא המספר המקסימלי של משבצות שאפשר לרכוש במיקום מסוים. אתם לא מחויבים על מכסות, אלא רק על הזמנות ועל התחייבויות. מידע נוסף זמין במאמר מכסות ומגבלות של הזמנות. למידע על הגדלת מכסת המשבצות, ראו בקשה להגדלת מכסה.
תמחור
למידע על תמחור של הזמנות, ראו תמחור לפי תעריף קבוע.
המאמרים הבאים
כדי להתחיל להשתמש בהזמנות ב-BigQuery, אפשר לעיין במאמר תחילת העבודה עם הזמנות.
מידע על חיוב על פי דרישה על הזמנות זמין במאמר שילוב של הזמנות עם חיוב על פי דרישה.