Ansicht TABLE_STORAGE_USAGE_TIMELINE

In der Ansicht INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE wird für die folgenden Tabellentypen die tägliche Gesamtspeichernutzung für die letzten 90 Tage angezeigt:

  • Standardtabellen
  • Materialisierte Ansichten
  • Tabellenklone mit einem Byte-Delta aus der Basistabelle
  • Tabellen-Snapshots mit einem Byte-Delta aus der Basistabelle

Tabellen ohne kostenpflichtige Byte sind in der Ansicht INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE nicht enthalten. Dazu gehören die folgenden Tabellentypen:

  • Externe Tabellen
  • Anonyme Tabellen
  • Leere Tabellen
  • Tabellenklone ohne Byte-Delta aus der Basistabelle
  • Tabellen-Snapshots ohne Byte-Delta aus der Basistabelle

Wenn Sie die Ansicht INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE abfragen, wird im Ergebnis jede Tabelle oder materialisierte Ansicht für das aktuelle Projekt in einer eigenen Zeile pro Tag dargestellt.

Die Daten in dieser Tabelle werden nicht in Echtzeit gespeichert. Es dauert ungefähr 72 Stunden, bis die realen Tabellendaten in dieser Ansicht wiedergegeben werden.

Die Speichernutzung wird in MiB/Sekunde zurückgegeben. Wenn ein Projekt beispielsweise 1.000.000 physische Byte für 86.400 Sekunden (24 Stunden) verwendet, beträgt die physische Nutzung insgesamt 86.400.000.000 Bytesekunden. Dies wird in 82.397 MiB-Sekunden umgewandelt, wie im folgenden Beispiel gezeigt:

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

Das ist der Wert, der in der Spalte BILLABLE_TOTAL_PHYSICAL_USAGE zurückgegeben wird.

Weitere Informationen finden Sie unter Details zu Speicherpreisen.

Erforderliche Berechtigungen

Zum Abfragen der Ansicht INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):

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

Die folgenden vordefinierten IAM-Rollen enthalten jeweils die vorherigen Berechtigungen:

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

Für Abfragen mit einem Regions-Qualifier müssen Sie Berechtigungen für das Projekt haben.

Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Schema

Die Ansicht INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE hat das folgende Schema:

USAGE_DATE DATE Das Abrechnungsdatum für die angezeigten Byte in der Zeitzone America/Los_Angeles
PROJECT_ID STRING Die ID des Projekts, das das Dataset enthält
TABLE_CATALOG STRING Die ID des Projekts, das das Dataset enthält
PROJECT_NUMBER INT64 Die Nummer des Projekts, das das Dataset enthält
TABLE_SCHEMA STRING Der Name des Datasets, das die Tabelle oder materialisierte Ansicht enthält (auch als datasetId bezeichnet)
TABLE_NAME STRING Der Name der Tabelle oder materialisierten Ansicht (auch als tableId bezeichnet)
BILLABLE_TOTAL_LOGICAL_USAGE INT64

Die logische Gesamtnutzung in MiB-Sekunden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für physischen Speicher verwendet.

BILLABLE_ACTIVE_LOGICAL_USAGE INT64

Die logische Nutzung, die weniger als 90 Tage alt ist, in MiB-Sekunden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für physischen Speicher verwendet.

BILLABLE_LONG_TERM_LOGICAL_USAGE INT64

Die logische Nutzung, die älter als 90 Tage ist, in MiB-Sekunden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für physischen Speicher verwendet.

BILLABLE_TOTAL_PHYSICAL_USAGE INT64

Die Gesamtnutzung in MiB-Sekunden. Dies schließt physische Byte ein, die für die Ausfallsicherheit und Zeitreisenspeicher verwendet werden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für logischen Speicher verwendet.

BILLABLE_ACTIVE_PHYSICAL_USAGE INT64

Die physische Nutzung, die weniger als 90 Tage alt ist, in MiB-Sekunden. Dies schließt physische Byte ein, die für die Ausfallsicherheit und Zeitreisenspeicher verwendet werden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für logischen Speicher verwendet.

BILLABLE_LONG_TERM_PHYSICAL_USAGE INT64

Die physische Nutzung, die älter als 90 Tage ist, in MiB-Sekunden.

Gibt 0 zurück, wenn das Dataset das Abrechnungsmodell für logischen Speicher verwendet.

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Regions-Qualifier verwendet werden. In der folgenden Tabelle wird der Regionsbereich für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] auf Projektebene REGION
Ersetzen Sie Folgendes:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.

  • REGION: ist ein beliebiger Dataset-Regionsname. Beispiel: `region-us`

  • Im folgenden Beispiel wird gezeigt, wie Speicherinformationen für Tabellen in einem bestimmten Projekt zurückgegeben werden:

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

    Im folgenden Beispiel wird gezeigt, wie Speicherinformationen für Tabellen in einer bestimmten Region zurückgegeben werden:

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

    Beispiele

    Beispiel 1

    Im folgenden Beispiel wird die Speichernutzung nach Tagen für Projekte in einer bestimmten Region summiert.

    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;

    Das Ergebnis sieht etwa so aus:

    +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
    | 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                                   |
    +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
    

    Beispiel 2

    Das folgende Beispiel zeigt die Speichernutzung für einen bestimmten Tag für Tabellen in einem Dataset, das logischen Speicher nutzt.

    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;

    Das Ergebnis sieht etwa so aus:

    +--------------+--------------+------------+------------------------------+
    | 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                 |
    +--------------+--------------+------------+------------------------------+
    

    Beispiel 3:

    Das folgende Beispiel zeigt die Speichernutzung für das letzte Nutzungsdatum für Tabellen in einem Dataset, das physischen Speicher nutzt.

    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;

    Das Ergebnis sieht etwa so aus:

    +--------------+--------------+------------+-------------------------------+
    | 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                 |
    +--------------+--------------+------------+-------------------------------+
    

    Beispiel 4

    Im folgenden Beispiel werden die Ansichten TABLE_OPTIONS und TABLE_STORAGE_USAGE_TIMELINE zusammengeführt, um Details zur Speichernutzung basierend auf Tags abzurufen.

    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\")')