מבוא ל-INFORMATION_SCHEMA

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

ב-BigQuery, מריצים שאילתות על INFORMATION_SCHEMA תצוגות באמצעות GoogleSQL על ידי ציון היקף ותצוגה. לדוגמה, כדי לקבל מטא-נתונים של טבלאות במערך נתונים, מציינים myDataset.INFORMATION_SCHEMA.TABLES.

בטבלה הבאה מפורטות התצוגות הזמינות:

סוג המשאב תצוגת 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
גרפים PROPERTY_GRAPHS
תעסוקה 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†
FAILOVER_HISTORY_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. ‫INFORMATION_SCHEMA לא תומך ב-SQL מדור קודם.
  • תוצאות של שאילתות INFORMATION_SCHEMA לא נשמרות במטמון.
  • אי אפשר להשתמש ב-INFORMATION_SCHEMA תצוגות בהצהרות DDL.
  • תצוגות INFORMATION_SCHEMA לא מכילות מידע על קבוצות נתונים מוסתרות.
  • INFORMATION_SCHEMA שאילתות עם מסנני אזורים עשויות לכלול מטא-נתונים ממקורות באותו אזור ממערכי נתונים שנמחקו ונמצאים בחלון הזמן שלכם לשימוש בתכונה Time Travel.
  • כשמציגים רשימה של משאבים מתצוגה של INFORMATION_SCHEMA, ההרשאות נבדקות רק ברמת ההורה, ולא ברמת השורה הבודדת. לכן, המערכת מתעלמת מכל מדיניות דחייה (בתצוגה מקדימה) שמכוונת באופן מותנה לשורה ספציפית באמצעות תגים.

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