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