Visualizzazione TABLE_STORAGE_USAGE_TIMELINE
La visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE fornisce i totali giornalieri dell'utilizzo dello spazio di archiviazione degli ultimi 90 giorni per i seguenti tipi di tabelle:
- Tabelle standard
- Viste materializzate
- Cloni di tabelle con un delta di byte rispetto alla tabella di base
- Snapshot di tabelle con un delta di byte rispetto alla tabella di base
Le tabelle che non hanno byte fatturabili non sono incluse nella visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE. Sono inclusi i seguenti tipi di tabelle:
- Tabelle esterne
- Tabelle anonime
- Tabelle vuote
- Cloni di tabelle senza delta di byte rispetto alla tabella di base
- Snapshot di tabelle senza delta di byte rispetto alla tabella di base
Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE, i risultati della query contengono una riga al giorno per ogni tabella o vista materializzata del progetto corrente.
I dati in questa tabella non vengono conservati in tempo reale. Sono necessarie circa 72 ore prima che i dati della tabella vengano visualizzati in questa visualizzazione.
L'utilizzo dello spazio di archiviazione viene restituito in MiB-secondi. Ad esempio, se un progetto utilizza 1.000.000 di byte fisici per 86.400 secondi (24 ore), l'utilizzo fisico totale è di 86.400.000.000 di byte-secondi, che vengono convertiti in 82.397 MiB-secondi, come mostrato nell'esempio seguente:
86,400,000,000 / 1,024 / 1,024 = 82,397
Questo è il valore che verrebbe restituito dalla colonna BILLABLE_TOTAL_PHYSICAL_USAGE.
Per ulteriori informazioni, consulta Dettagli sui prezzi di archiviazione.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):
bigquery.tables.getbigquery.tables.list
Ognuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:
roles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.metadataViewerroles/bigquery.admin
Per le query con un qualificatore di regione, devi disporre delle autorizzazioni per il progetto.
Per ulteriori informazioni sulle autorizzazioni di BigQuery, consulta Controllo dell'accesso con IAM.
Schema
La visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE ha il seguente schema:
| Nome colonna | Tipo di dati | Valore |
|---|---|---|
usage_date |
DATE |
La data di fatturazione per i byte mostrati, utilizzando il
America/Los_Angeles fuso orario |
project_id |
STRING |
L'ID progetto del progetto contenente il set di dati |
table_catalog |
STRING |
L'ID progetto del progetto contenente il set di dati |
project_number |
INT64 |
Il numero di progetto del progetto contenente il set di dati |
table_schema |
STRING |
Il nome del set di dati contenente la tabella o la vista materializzata,
noto anche come datasetId |
table_name |
STRING |
Il nome della tabella o della vista materializzata, noto anche come
tableId |
billable_total_logical_usage |
INT64 |
L'utilizzo logico totale, in MiB-secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione fisico fisico. |
billable_active_logical_usage |
INT64 |
L'utilizzo logico di meno di 90 giorni, in MiB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione fisico fisico. |
billable_long_term_logical_usage |
INT64 |
L'utilizzo logico di più di 90 giorni, in MiB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione fisico fisico. |
billable_total_physical_usage |
INT64 |
L'utilizzo totale in MiB-secondi. Sono inclusi byte fisici utilizzati per lo spazio di archiviazione Fail-Safe e Time Travel. Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione logico billing model. |
billable_active_physical_usage |
INT64 |
L'utilizzo fisico di meno di 90 giorni, in MiB-secondi. Sono inclusi i byte fisici utilizzati per lo spazio di archiviazione Fail-Safe e Time Travel Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione logico billing model. |
billable_long_term_physical_usage |
INT64 |
L'utilizzo fisico di più di 90 giorni, in MiB-secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dello spazio di archiviazione logico billing model. |
Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo anziché utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query se lo schema sottostante cambia.
Ambito e sintassi
Le query su questa visualizzazione devono includere un qualificatore di regione. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito regione |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] |
Livello progetto | REGION |
-
(Facoltativo)
PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non viene specificato, viene utilizzato il progetto predefinito. -
REGION: il nome di una regione del set di dati. Ad esempio,`region-us`.
L'esempio seguente mostra come restituire le informazioni sullo spazio di archiviazione per le tabelle in un progetto specificato:
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
L'esempio seguente mostra come restituire le informazioni sullo spazio di archiviazione per le tabelle in una regione specificata:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
Esempi
Esempio 1
L'esempio seguente somma l'utilizzo dello spazio di archiviazione per giorno per i progetti in una regione specificata.
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;
Il risultato è simile al seguente:
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 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 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
Esempio 2
L'esempio seguente mostra l'utilizzo dello spazio di archiviazione per un giorno specificato per le tabelle in un set di dati che utilizza lo spazio di archiviazione logico.
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;
Il risultato è simile al seguente:
+--------------+--------------+------------+------------------------------+ | 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 | +--------------+--------------+------------+------------------------------+
Esempio 3
L'esempio seguente mostra l'utilizzo dello spazio di archiviazione per la data di utilizzo più recente per le tabelle in un set di dati che utilizza lo spazio di archiviazione fisico.
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;
Il risultato è simile al seguente:
+--------------+--------------+------------+-------------------------------+ | 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 | +--------------+--------------+------------+-------------------------------+
Esempio 4
L'esempio seguente unisce le visualizzazioni TABLE_OPTIONS e TABLE_STORAGE_USAGE_TIMELINE per ottenere i dettagli sull'utilizzo dello spazio di archiviazione in base ai tag.
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\")')