מבוא ל-INFORMATION_SCHEMA

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

סוג המשאב תצוגת INFORMATION_SCHEMA
בקרת גישה OBJECT_PRIVILEGES
BI Engine BI_CAPACITIES
BI_CAPACITY_CHANGES
הגדרות אישיות EFFECTIVE_PROJECT_OPTIONS
ORGANIZATION_OPTIONS
ORGANIZATION_OPTIONS_CHANGES
PROJECT_OPTIONS
PROJECT_OPTIONS_CHANGES
מערכי נתונים SCHEMATA
SCHEMATA_LINKS
SCHEMATA_OPTIONS
SHARED_DATASET_USAGE
SCHEMATA_REPLICAS
SCHEMATA_REPLICAS_BY_FAILOVER_RESERVATION
תעסוקה JOBS_BY_PROJECT
JOBS_BY_USER
JOBS_BY_FOLDER
JOBS_BY_ORGANIZATION
משרות לפי חלון זמן JOBS_TIMELINE_BY_PROJECT
JOBS_TIMELINE_BY_USER
JOBS_TIMELINE_BY_FOLDER
JOBS_TIMELINE_BY_ORGANIZATION
המלצות ותובנות INSIGHTS
RECOMMENDATIONS
RECOMMENDATIONS_BY_ORGANIZATION
הזמנות ASSIGNMENTS_BY_PROJECT
ASSIGNMENT_CHANGES_BY_PROJECT
CAPACITY_COMMITMENTS_BY_PROJECT
CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
RESERVATIONS_BY_PROJECT
RESERVATION_CHANGES_BY_PROJECT
RESERVATIONS_TIMELINE_BY_PROJECT
תרחישים PARAMETERS
ROUTINES
ROUTINE_OPTIONS
אינדקסים של חיפושים SEARCH_INDEXES
SEARCH_INDEX_COLUMNS
SEARCH_INDEX_COLUMN_OPTIONS
SEARCH_INDEX_OPTIONS
SEARCH_INDEXES_BY_ORGANIZATION
סשנים SESSIONS_BY_PROJECT
SESSIONS_BY_USER
סטרימינג STREAMING_TIMELINE_BY_PROJECT
STREAMING_TIMELINE_BY_FOLDER
STREAMING_TIMELINE_BY_ORGANIZATION
Tables COLUMNS
COLUMN_FIELD_PATHS
CONSTRAINT_COLUMN_USAGE
KEY_COLUMN_USAGE
PARTITIONS
TABLES
TABLE_OPTIONS
TABLE_CONSTRAINTS
TABLE_SNAPSHOTS
TABLE_STORAGE_BY_PROJECT
TABLE_STORAGE_BY_FOLDER
TABLE_STORAGE_BY_ORGANIZATION
TABLE_STORAGE_USAGE_TIMELINE
TABLE_STORAGE_USAGE_TIMELINE_BY_FOLDER
TABLE_STORAGE_USAGE_TIMELINE_BY_ORGANIZATION
אינדקסים של וקטורים VECTOR_INDEXES
VECTOR_INDEX_COLUMNS
VECTOR_INDEX_OPTIONS
תצוגות VIEWS
MATERIALIZED_VIEWS
Write API WRITE_API_TIMELINE_BY_PROJECT
WRITE_API_TIMELINE_BY_FOLDER
WRITE_API_TIMELINE_BY_ORGANIZATION

בתצוגות *BY_PROJECT, הסיומת BY_PROJECT היא אופציונלית. לדוגמה, שאילתות לגבי INFORMATION_SCHEMA.JOBS_BY_PROJECT ו-INFORMATION_SCHEMA.JOBS מחזירות את אותן תוצאות.

תמחור

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

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

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

לא נחייב אתכם על אחסון של INFORMATION_SCHEMA צפיות.

תחביר

צריך לציין מערך נתונים או אזור בתצוגה מסוג INFORMATION_SCHEMA.

מחרוזת להגדרת מערך נתונים

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

-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;

התצוגות הבאות של INFORMATION_SCHEMA תומכות במאפייני מערך נתונים:

  • COLUMNS
  • COLUMN_FIELD_PATHS
  • MATERIALIZED_VIEWS
  • PARAMETERS
  • PARTITIONS
  • ROUTINES
  • ROUTINE_OPTIONS
  • TABLES
  • TABLE_OPTIONS
  • VIEWS

מגדיר אזור

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

  • region-us
  • region-asia-east2
  • region-europe-north1

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

-- Returns metadata for all datasets in the US multi-region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

בתצוגות הבאות של INFORMATION_SCHEMA אין תמיכה במגדירי אזור:

אם לא מציינים מסנן אזורי או מסנן של מערך נתונים, מוצגת שגיאה.

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

מאפיין הפרויקט

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

-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;

-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;

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

ציון מסנן פרויקט בתצוגות ברמת הארגון (למשל STREAMING_TIMELINE_BY_ORGANIZATION) לא משפיע על התוצאות.

מגבלות

  • שאילתות BigQuery INFORMATION_SCHEMA צריכות להיות בתחביר של GoogleSQL. אין תמיכה ב-SQL מדור קודם ב-INFORMATION_SCHEMA.
  • INFORMATION_SCHEMA תוצאות השאילתה לא נשמרות במטמון.
  • אי אפשר להשתמש בתצוגות INFORMATION_SCHEMA בהצהרות DDL.
  • תצוגות INFORMATION_SCHEMA לא מכילות מידע על מערכי נתונים מוסתרים.
  • INFORMATION_SCHEMA שאילתות עם מסנני אזורים עשויות לכלול מטא-נתונים ממקורות באותו אזור ממערכי נתונים שנמחקו ונמצאים בחלון הזמן שלכם לשימוש בתכונה Time Travel.
  • כשמציגים רשימה של משאבים מתוך תצוגה של INFORMATION_SCHEMA, ההרשאות נבדקות רק ברמת ההורה ולא ברמה של שורה בודדת. לכן, המערכת מתעלמת מכל מדיניות דחייה (בתצוגה מקדימה) שמטרגטת באופן מותנה שורה ספציפית באמצעות תגים.