ניהול הגדרות התצורה
אדמינים ב-BigQuery ובעלי פרויקטים יכולים לנהל את הגדרות התצורה ברמת הארגון והפרויקט. אתם יכולים להגדיר תצורות כדי לאכוף אבטחה, לשלוט בעלויות ולשפר את ביצועי השאילתות בכל תשתית הנתונים. הגדרת ערכי ברירת מחדל מאפשרת לכם לוודא שהתאימות תהיה עקבית והיעילות התפעולית תישמר, וכך יהיה לכם קל יותר לנהל את סביבת BigQuery.
קביעת הגדרות אישיות
בקטעים הבאים מוסבר איך מציינים הגדרות תצורה שמוגדרות כברירת מחדל. הגדרות ברירת המחדל מוגדרות ברמת הארגון או הפרויקט, אבל אפשר לשנות אותן ברמת הסשן או העבודה. כדי לאכוף התנהגות ברירת מחדל, אתם יכולים להגדיר הגדרות ברירת מחדל בשילוב עם מדיניות ארגונית קשורה.
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת לציון הגדרת תצורה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Admin (roles/bigquery.admin).
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.config.update, שנדרשת כדי לציין הגדרת תצורה.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
קביעת הגדרות הארגון
אפשר להגדיר הגדרות ברמת הארגון באמצעות ההצהרות הבאות של GoogleSQL. כשמציינים את ההגדרה, צריך לציין את האזור שהיא חלה עליו. אפשר להשתמש רק באזור אחד לכל הצהרה.
כדי להגדיר את ההגדרות של הארגון, משתמשים בהצהרת ה-DDL ALTER ORGANIZATION SET OPTIONS.
בדוגמה הבאה מפורטות כמה הגדרות ברירת מחדל, כולל:
- אזור זמן:
America/Chicago - מפתח Cloud KMS: מפתח שמוגדר על ידי המשתמש
- זמן קצוב לתפוגה של שאילתה: 30 דקות (1,800,000 אלפיות השנייה)
- זמן קצוב לתפוגה של תור שאילתות אינטראקטיביות: 10 דקות (600,000 אלפיות השנייה)
- הזמן הקצוב לתפוגה של תור שאילתות של Batch: 20 דקות (1,200,000 אלפיות השנייה)
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone`= 'America/Chicago', -- Ensure all service accounts under the organization have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 1800000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72);
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: האזור שמשויך לפרויקט או לארגון. לדוגמה,usאוeurope-west6. -
KMS_KEY: מפתח Cloud KMS שהוגדר על ידי המשתמש. מידע נוסף מופיע במאמר בנושא מפתחות Cloud KMS בניהול הלקוח. -
BILLING_MODEL: מודל האחסון של מערכי נתונים חדשים – לדוגמה,PHYSICALלבייטים פיזיים.
בדוגמה הבאה מוסרות כל הגדרות ברירת המחדל ברמת הארגון:
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL, `region-REGION.default_cloud_resource_connection_id` = NULL, `region-REGION.default_sql_dialect_option` = NULL, `region-REGION.enable_reservation_based_fairness` = NULL, `region-REGION.enable_global_queries_execution` = NULL, `region-REGION.enable_global_queries_data_access` = NULL);
הגדרת הגדרות הפרויקט
אפשר להגדיר את ההגדרות ברמת הפרויקט באמצעות ההצהרות הבאות של GoogleSQL. כשמציינים את ההגדרה, צריך לציין את האזור שהיא חלה עליו. אפשר להשתמש רק באזור אחד לכל הצהרה.
כדי להגדיר את הגדרות הפרויקט, משתמשים בהצהרת ה-DDL ALTER PROJECT SET OPTIONS.
הצהרת ה-DDL ALTER PROJECT SET OPTIONS מקבלת באופן אופציונלי את המשתנה PROJECT_ID. אם לא מציינים את PROJECT_ID, ברירת המחדל היא הפרויקט הנוכחי שבו מופעלת השאילתה.
בדוגמה הבאה מפורטות כמה הגדרות ברירת מחדל:
- אזור זמן:
America/Los_Angeles - מפתח Cloud KMS: מפתח לדוגמה
- זמן קצוב לתפוגה של שאילתה: שעה אחת
- זמן קצוב לתפוגה של תור שאילתות אינטראקטיביות: 10 דקות
- הזמן הקצוב לתפוגה של תור שאילתות באצווה: 20 דקות
- הוגנות מבוססת-הזמנות: מופעלת
- שאילתות גלובליות: מופעלות להרצה ולגישה לנתונים
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = 'America/Los_Angeles', -- Ensure all service accounts under the project have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 3600000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72, `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID, `region-REGION.default_sql_dialect_option` = 'default_google_sql', `region-REGION.enable_reservation_based_fairness` = true, `region-REGION.enable_global_queries_execution` = true, `region-REGION.enable_global_queries_data_access` = true);
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
REGION: האזור שמשויך לפרויקט או לארגון. לדוגמה,usאוeurope-west6. -
KMS_KEY: מפתח Cloud KMS שהוגדר על ידי המשתמש. מידע נוסף מופיע במאמר בנושא מפתחות Cloud KMS בניהול הלקוח. -
BILLING_MODEL: מודל האחסון של מערכי נתונים חדשים – לדוגמה,PHYSICALלבייטים פיזיים. -
CONNECTION_ID: המזהה של החיבור שרוצים להשתמש בו כחיבור ברירת המחדל לטבלאות ולמודלים.
בדוגמה הבאה מוסרים כל הגדרות ברירת המחדל ברמת הפרויקט. הגדרות ברירת המחדל משתמשות בהגדרות ברירת מחדל ברמת הארגון, אם קיימות כאלה. אחרת, כל הגדרות ברירת המחדל מוגדרות כברירת המחדל הגלובלית.
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL, `region-REGION.default_cloud_resource_connection_id` = NULL, `region-REGION.default_sql_dialect_option` = NULL, `region-REGION.enable_reservation_based_fairness` = NULL, `region-REGION.enable_global_queries_execution` = NULL, `region-REGION.enable_global_queries_data_access` = NULL);
הגדרות ברמת הפרויקט מקבלות עדיפות על פני הגדרות ברמת הארגון. הגדרות ברמת הפרויקט יכולות להיות מושבתות על ידי הגדרות ברמת הסשן, שיכולות להיות מושבתות על ידי הגדרות ברמת העבודה.
אחזור הגדרות התצורה
אתם יכולים לראות את הגדרות התצורה של ארגון או פרויקט באמצעות התצוגות הבאות של INFORMATION_SCHEMA:
-
INFORMATION_SCHEMA.PROJECT_OPTIONS: ההגדרות שחלות על פרויקט. -
INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS: ההגדרות שחלות על פרויקט. ההגדרות שחלות בפועל כוללות את כל ההגדרות שנקבעו ברמת הפרויקט, וגם את כל ההגדרות שהפרויקט ירש מהארגון. -
INFORMATION_SCHEMA.ORGANIZATION_OPTIONS: ההגדרות שהוחלו על הארגון.
יכול להיות שיחלפו כמה דקות עד שההגדרות החדשות ייכנסו לתוקף ויוצגו בתצוגה INFORMATION_SCHEMA.
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת לאחזור הגדרות, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Job User (roles/bigquery.jobUser) בפרויקט שצוין.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.config.get, שנדרשת כדי לאחזר הגדרות תצורה.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
דוגמאות
כדי לראות את ההגדרות של ארגון באזור us, מריצים את השאילתה הבאה:
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;
כדי להציג את ההגדרות שבתוקף בפרויקט ברירת המחדל באזור us, מריצים את השאילתה הבאה:
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;
כדי לראות את ההגדרות בפרויקט ברירת המחדל באזור us, מריצים את השאילתה הבאה:
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;
הגדרות תצורה
בקטעים הבאים מפורטות הגדרות התצורה שאפשר לציין.
הגדרות של שאילתות והרצת משימות
משתמשים בהגדרות הבאות כדי לשלוט באופן ההרצה, התזמון והתור של השאילתות.
-
default_batch_query_queue_timeout_ms: משך הזמן שמוגדר כברירת מחדל, באלפיות השנייה, שבו שאילתת אצווה מוכנסת לתור. אם לא מגדירים את המדיניות, ברירת המחדל היא 24 שעות. הערך המינימלי הוא אלפית שנייה. הערך המקסימלי הוא 48 שעות. כדי להשבית את התור של שאילתות אצווה, מגדירים את הערך כ--1. -
default_interactive_query_queue_timeout_ms: כמות הזמן שמוגדרת כברירת מחדל, באלפיות השנייה, שבה שאילתה אינטראקטיבית מוכנסת לתור. אם לא מגדירים את משך הזמן, ברירת המחדל היא שש שעות. הערך המינימלי הוא אלפית שנייה. הערך המקסימלי הוא 48 שעות. כדי להשבית את הוספת השאילתות האינטראקטיביות לתור, מגדירים את הערך ל--1.
default_query_job_timeout_ms: הזמן שחלף אחריו משימת שאילתה מסתיימת בטיימ-אאוט, כולל הזמן שהמשימה נמצאת בתור והזמן שחלף במהלך ההרצה. משך הזמן הקצוב לתפוגה צריך להיות בין 5 דקות ל-48 שעות. הזמן הקצוב לתפוגה הזה חל רק על משימות של שאילתות בודדות ועל משימות משנה של סקריפטים. כדי להגדיר זמן קצוב לתהליכי עבודה של סקריפטים, צריך להשתמש בשיטת ה-API jobs.insert ולהגדיר את השדהjobTimeoutMs.
enable_reservation_based_fairness: האפשרות שקובעת איך משתפים משבצות זמן פנויות. ערך ברירת המחדל הוא false, כלומר משבצות זמן פנויות מחולקות באופן שווה בין כל הפרויקטים של השאילתות. אם האפשרות הזו מופעלת, המשבצות הפנויות מחולקות באופן שווה בין כל ההזמנות, ואז בין הפרויקטים בהזמנה. מידע נוסף זמין במאמר בנושא הוגנות מבוססת-הזמנה. האפשרות הזו נתמכת רק ברמת הפרויקט. אי אפשר לציין את ההגדרה הזו ברמת הארגון או ברמת המשרה.
default_time_zone: אזור הזמן שמוגדר כברירת מחדל לשימוש בפונקציות GoogleSQL שתלויות באזור הזמן, כשלא מציינים אזור זמן כארגומנט. ההגדרה הזו לא חלה על טבלאות מחולקות למחיצות לפי יחידות זמן (שמשתמשות ב-UTC כאזור הזמן), על העברות מתוזמנות של Storage Transfer Service או על טעינת נתונים באמצעות כלי שורת הפקודה של BigQuery. מידע נוסף זמין במאמר בנושא אזורי זמן.
default_query_optimizer_options: אופטימיזציות של שאילתות שמבוססות על היסטוריה. האפשרות הזו יכולה להיות אחת מהאפשרויות הבאות:-
'adaptive=on': שימוש באופטימיזציות של שאילתות שמבוססות על היסטוריה. -
'adaptive=off': לא להשתמש באופטימיזציות של שאילתות שמבוססות על היסטוריה. -
NULL(ברירת מחדל): שימוש בהגדרת ברירת המחדל של אופטימיזציה של שאילתות שמבוססת על היסטוריה, ששווה ל-'adaptive=on'.
-
default_sql_dialect_option: הדיאלקט המוגדר כברירת מחדל של שאילתת SQL להרצת משימות של שאילתות באמצעות כלי שורת הפקודה של BigQuery או BigQuery API. שינוי ההגדרה הזו לא משפיע על הניב שמוגדר כברירת מחדל במסוף. האפשרות הזו יכולה להיות אחת מהאפשרויות הבאות:-
'default_legacy_sql'(ברירת מחדל): שימוש ב-SQL מדור קודם אם דיאלקט השאילתה לא צוין ברמת העבודה. -
'default_google_sql': אם ניב השאילתה לא צוין ברמת העבודה, נעשה שימוש ב-GoogleSQL. -
'only_google_sql': אם ניב השאילתה לא צוין ברמת העבודה, נעשה שימוש ב-GoogleSQL. דחיית עבודות עם דיאלקט שאילתה שמוגדר ל-SQL מדור קודם. -
NULL: שימוש בהגדרת ברירת המחדל של דיאלקט השאילתה, ששווה ל-'default_legacy_sql'.
-
enable_global_queries_execution: האפשרות שקובעת אם אפשר להפעיל שאילתות גלובליות. ערך ברירת המחדל הואFALSE, כלומר, שאילתות גלובליות לא מופעלות.
enable_global_queries_data_access: האפשרות שקובעת אם שאילתות גלובליות יכולות לגשת לנתונים שמאוחסנים באזור. ערך ברירת המחדל הואFALSE, כלומר שאילתות גלובליות לא יכולות להעתיק נתונים מהאזור הזה, ללא קשר לפרויקט שבו הן מופעלות.
הגדרות לניהול נתונים
ההגדרות הבאות מאפשרות להגדיר כללים ליצירת נתונים, לאבטחה ולמחזור החיים.
-
default_column_name_character_map: היקף ברירת המחדל והטיפול בתווים בשמות של עמודות. אם לא מגדירים את האפשרות הזו, טעינת משימות שמשתמשות בתווים לא נתמכים בשמות של עמודות נכשלת ומוצגת הודעת שגיאה. יכול להיות שחלק מהטבלאות הישנות יותר מוגדרות להחלפת תווים לא נתמכים בשמות של עמודות. מידע נוסף זמין במאמרload_option_list.
default_kms_key_name: מפתח ברירת המחדל של Cloud Key Management Service להצפנת נתוני טבלה, כולל טבלאות זמניות או אנונימיות. מידע נוסף מופיע במאמר בנושא מפתחות Cloud KMS בניהול הלקוח.
default_max_time_travel_hours: חלון ברירת המחדל של נסיעה בזמן בשעות למערכי נתונים חדשים. משך הזמן הזה צריך להיות בין 48 ל-168, כולל, וצריך להתחלק ב-24. שינוי ברירת המחדל של מספר השעות המקסימלי של נסיעה אחורה בזמן לא משפיע על מערכי נתונים קיימים. מידע נוסף מופיע במאמר Time Travel ושמירת נתונים.
הגדרות עלות ומשאבים
ההגדרות הבאות קובעות איך המשאבים יחויבו ואיך הם יקושרו.
-
default_storage_billing_model: מודל החיוב שמוגדר כברירת מחדל לאחסון של מערכי נתונים חדשים. מגדירים את הערך ל-PHYSICALכדי להשתמש בבייטים פיזיים כשמחשבים את עלויות האחסון, או ל-LOGICALכדי להשתמש בבייטים לוגיים. שימו לב: שינוי מודל החיוב שמוגדר כברירת מחדל לא משפיע על מערכי נתונים קיימים. מידע נוסף זמין במאמר מודלים לחיוב על אחסון. -
default_cloud_resource_connection_id: חיבור ברירת המחדל שמשמש ליצירת טבלאות ומודלים. צריך לציין רק את המזהה או השם של החיבור, ולא לכלול את מזהה הפרויקט המצורף ואת הקידומות של האזור. שימוש בחיבורי ברירת מחדל עלול לגרום לעדכון ההרשאות שניתנו לחשבון השירות של החיבור, בהתאם לסוג הטבלה או המודל שאתם יוצרים. מידע נוסף זמין במאמר סקירה כללית של חיבור ברירת המחדל.
תמחור
השימוש בשירות ההגדרות האישיות של BigQuery לא כרוך בתשלום נוסף. מידע נוסף מפורט בקטע תמחור.