תצוגת TABLE_STORAGE_USAGE_TIMELINE

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

  • טבלאות רגילות
  • תצוגות מהותיות
  • שיבוטים של טבלאות שיש בהם דלתא בבייטים מהטבלת הבסיס
  • תמונות מצב של טבלאות שיש בהן דלתא בבייטים מטבלת הבסיס

טבלאות שלא כוללות בייטים לחיוב לא נכללות בתצוגה INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE. זה כולל את סוגי הטבלאות הבאים:

  • טבלאות חיצוניות
  • טבלאות אנונימיות
  • טבלאות ריקות
  • שיבוטים של טבלאות שלא כוללים דלתא בבייטים מהטבלה הבסיסית
  • תמונות מצב של טבלאות שלא כוללות דלתא בבייטים מטבלת הבסיס

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

הנתונים בטבלה הזו לא מתעדכנים בזמן אמת. יעברו בערך 72 שעות עד שהנתונים מהטבלה יופיעו בתצוגה הזו.

הנתון של נפח האחסון בשימוש מוחזר ב-MiB לשנייה. לדוגמה, אם בפרויקט נעשה שימוש ב-1,000,000 בייטים פיזיים למשך 86,400 שניות (24 שעות), סך השימוש הפיזי הוא 86,400,000,000 בייט-שניות, שמומר ל-82,397 מיביבייט-שניות, כמו שמוצג בדוגמה הבאה:

86,400,000,000 / 1,024 / 1,024 = 82,397

זהו הערך שיוחזר על ידי BILLABLE_TOTAL_PHYSICAL_USAGEהעמודה.

מידע נוסף זמין במאמר פרטי תמחור של אחסון.

ההרשאות הנדרשות

כדי לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE, אתם צריכים את ההרשאות הבאות לניהול זהויות והרשאות גישה (IAM):

  • bigquery.tables.get
  • bigquery.tables.list

כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאות שצוינו למעלה:

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.metadataViewer
  • roles/bigquery.admin

כדי להריץ שאילתות עם מסנן אזור, צריך הרשאות בפרויקט.

מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.

סכימה

לתצוגה INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
usage_date DATE תאריך החיוב של הבייטים שמוצגים, לפי אזור הזמן America/Los_Angeles
project_id STRING מזהה הפרויקט שמכיל את מערך הנתונים
table_catalog STRING מזהה הפרויקט שמכיל את מערך הנתונים
project_number INT64 מספר הפרויקט שמכיל את מערך הנתונים
table_schema STRING שם מערך הנתונים שמכיל את הטבלה או את התצוגה החומרית, שנקרא גם datasetId
table_name STRING השם של הטבלה או התצוגה החומרית, שנקראת גם tableId
billable_total_logical_usage INT64

השימוש הלוגי הכולל, ב-MiB לשנייה.

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון פיזי.

billable_active_logical_usage INT64

השימוש הלוגי מלפני פחות מ-90 יום, ב-MiB לשנייה.

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון פיזי.

billable_long_term_logical_usage INT64

השימוש הלוגי שגילו יותר מ-90 יום, ב-MiB שנייה.

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון פיזי.

billable_total_physical_usage INT64

סך השימוש ב-MiB לשנייה. זה כולל בייטים פיזיים שמשמשים לגיבוי ולשחזור בזמן.

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון לוגי.

billable_active_physical_usage INT64

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

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון לוגי.

billable_long_term_physical_usage INT64

השימוש הפיזי שבוצע לפני יותר מ-90 ימים, ביחידות של MiB לשנייה.

הפונקציה מחזירה 0 אם מערך הנתונים משתמש במודל החיוב של אחסון לוגי.

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

היקף ותחביר

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

שם התצוגה היקף המשאבים היקף האזור
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] ברמת הפרויקט REGION
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.

בדוגמה הבאה מוצגות דרכים להחזרת פרטי אחסון של טבלאות בפרויקט שצוין:

SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;

בדוגמה הבאה מוצג איך להחזיר מידע על אחסון של טבלאות באזור ספציפי:

SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;

דוגמאות

דוגמה 1

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

SELECT
  usage_date,
  project_id,
  SUM(billable_total_logical_usage) AS billable_total_logical_usage,
  SUM(billable_active_logical_usage) AS billable_active_logical_usage,
  SUM(billable_long_term_logical_usage) AS billable_long_term_logical_usage,
  SUM(billable_total_physical_usage) AS billable_total_physical_usage,
  SUM(billable_active_physical_usage) AS billable_active_physical_usage,
  SUM(billable_long_term_physical_usage) AS billable_long_term_physical_usage
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
GROUP BY
  1,
  2
ORDER BY
  usage_date;

התוצאה אמורה להיראות כך:

+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| usage_date | project_id | billable_total_logical_usage | billable_active_logical_usage | billable_long_term_logical_usage  | billable_total_physical_usage | billable_active_physical_usage | billable_long_term_physical_usage   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-03 | project_A  | 305085738096                 | 7667321458                    | 297418416638                      | 74823954823                   | 124235724                      | 74699719099                         |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-04 | project_A  | 287033241105                 | 7592334614                    | 279440906491                      | 75071991788                   | 200134561                      | 74871857227                         |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-03 | project_B  | 478173930912                 | 8137372626                    | 470036558286                      | 0                             | 0                              | 0                                   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
| 2023-04-04 | project_B  | 496648915405                 | 7710451723                    | 488938463682                      | 0                             | 0                              | 0                                   |
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+

דוגמה 2

בדוגמה הבאה מוצג השימוש באחסון ליום מסוים עבור טבלאות בקבוצת נתונים שמשתמשת באחסון לוגי.

SELECT
  usage_date,
  table_schema,
  table_name,
  billable_total_logical_usage
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
WHERE
  project_id = 'PROJECT_ID'
  AND table_schema = 'DATASET_NAME'
  AND usage_date = 'USAGE_DATE'
ORDER BY
  billable_total_logical_usage DESC;

התוצאה אמורה להיראות כך:

+--------------+--------------+------------+------------------------------+
| usage_date   | table_schema | table_name | billable_total_logical_usage |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_4    | 734893409201                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_1    | 690070445455                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_3    |  52513713981                 |
+--------------+--------------+------------+------------------------------+
|  2023-04-03  | dataset_A    | table_2    |   8894535355                 |
+--------------+--------------+------------+------------------------------+

דוגמה 3

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

SELECT
  usage_date,
  table_schema,
  table_name,
  billable_total_physical_usage
FROM
  (
    SELECT
      *,
      ROW_NUMBER()
        OVER (PARTITION BY project_id, table_schema, table_name ORDER BY usage_date DESC) AS rank
    FROM
      `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
  )
WHERE
  rank = 1
  AND project_id = 'PROJECT_ID'
  AND table_schema ='DATASET_NAME'
ORDER BY
  usage_date;

התוצאה אמורה להיראות כך:

+--------------+--------------+------------+-------------------------------+
| usage_date   | table_schema | table_name | billable_total_physical_usage |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_4    |  345788341123                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_1    |             0                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_3    | 9123481400212                 |
+--------------+--------------+------------+-------------------------------+
|  2023-04-12  | dataset_A    | table_2    |    1451334553                 |
+--------------+--------------+------------+-------------------------------+

דוגמה 4

בדוגמה הבאה מתבצע איחוד של התצוגות TABLE_OPTIONS ו-TABLE_STORAGE_USAGE_TIMELINE כדי לקבל פרטים על נפח אחסון נדרש על סמך תגים.

SELECT * FROM region-REGION.INFORMATION_SCHEMA.TABLE_OPTIONS
    INNER JOIN region-REGION.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
    USING (TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME)
    WHERE option_name='tags'
    AND CONTAINS_SUBSTR(option_value, '(\"tag_namespaced_key\", \"tag_namespaced_value\")')