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 che hanno un delta in byte dalla tabella di base
- Snapshot della tabella con un delta in byte dalla 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 in byte dalla tabella di base
- Snapshot della tabella senza delta in byte dalla tabella di base
Quando esegui una query sulla vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, i risultati della query contengono una riga al giorno per ogni tabella o vista materializzata per il progetto corrente.
I dati di questa tabella non vengono conservati in tempo reale. Sono necessarie circa 72 ore affinché i dati della tabella vengano visualizzati in questa vista.
L'utilizzo dello spazio di archiviazione viene restituito in MB al secondo. 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 secondi di byte, che viene convertito in 82.397 MB di 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 i dettagli dei prezzi dell'archiviazione.
Autorizzazioni obbligatorie
Per eseguire una query sulla vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, devi disporre
delle seguenti autorizzazioni di Identity and Access Management (IAM):
bigquery.tables.get
bigquery.tables.list
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.admin
Per le query con un qualificatore della regione, devi disporre delle autorizzazioni per il progetto.
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
La vista INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
ha il seguente schema:
USAGE_DATE |
DATE |
La data di fatturazione per i byte mostrati |
PROJECT_ID |
STRING |
L'ID del progetto che contiene il set di dati |
TABLE_CATALOG |
STRING |
L'ID del progetto che contiene il set di dati |
PROJECT_NUMBER |
INT64 |
Il numero del progetto che contiene il set di dati |
TABLE_SCHEMA |
STRING |
Il nome del set di dati che contiene la tabella o la vista materializzata, chiamato anche datasetId |
TABLE_NAME |
STRING |
Il nome della tabella o della vista materializzata, indicato anche come
tableId |
BILLABLE_TOTAL_LOGICAL_USAGE |
INT64 |
L'utilizzo logico totale, in MB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione fisica. |
BILLABLE_ACTIVE_LOGICAL_USAGE |
INT64 |
L'utilizzo logico risalente a non più di 90 giorni, in MB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione fisica. |
BILLABLE_LONG_TERM_LOGICAL_USAGE |
INT64 |
L'utilizzo logico risalente a più di 90 giorni, in MB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione fisica. |
BILLABLE_TOTAL_PHYSICAL_USAGE |
INT64 |
L'utilizzo totale in MB secondo. Sono inclusi i byte fisici utilizzati per l'archiviazione in sicurezza e per i viaggi nel tempo. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione logica. |
BILLABLE_ACTIVE_PHYSICAL_USAGE |
INT64 |
L'utilizzo fisico risalente a non più di 90 giorni, in MB secondo. Sono inclusi i byte fisici utilizzati per l'archiviazione in sicurezza e per i viaggi nel tempo. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione logica. |
BILLABLE_LONG_TERM_PHYSICAL_USAGE |
INT64 |
L'utilizzo fisico risalente a più di 90 giorni fa, in MB secondi. Restituisce 0 se il set di dati utilizza il modello di fatturazione dell'archiviazione logica. |
Ambito e sintassi
Le query relative a questa vista devono includere un qualificatore regione. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito della regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] |
Livello di progetto | REGION |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. REGION
: qualsiasi nome della regione del set di dati. Ad esempio:region-us
.
L'esempio seguente mostra come restituire le informazioni di archiviazione per le tabelle in un progetto specifico:
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
L'esempio seguente mostra come restituire informazioni 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 giornaliero dello spazio di archiviazione 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 in un giorno specificato per le tabelle in un set di dati che usa l'archiviazione logica.
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 usa l'archiviazione fisica.
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 viste TABLE_OPTIONS
e
TABLE_STORAGE_USAGE_TIMELINE
per ottenere 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\")')