Visualizzazione TABLE_STORAGE
La vista INFORMATION_SCHEMA.TABLE_STORAGE
fornisce un'istantanea corrente dello spazio di archiviazione
per tabelle e viste materializzate. Quando esegui una query
INFORMATION_SCHEMA.TABLE_STORAGE
, i risultati della query contengono una riga per ogni tabella o vista materializzata per
per il progetto attuale. I dati nella vista INFORMATION_SCHEMA.TABLE_STORAGE
sono
non vengono mantenuti in tempo reale e gli aggiornamenti sono in genere con un ritardo di pochi secondi
minuti. le modifiche allo spazio di archiviazione causate solo dalla scadenza della partizione o della tabella
causate da modifiche alla finestra di spostamento cronologico del set di dati,
fino a un giorno per riflettere nella vista INFORMATION_SCHEMA.TABLE_STORAGE
.
Le visualizzazioni tabella dello spazio di archiviazione offrono un modo pratico per osservare lo stato il consumo dello spazio di archiviazione e, inoltre, forniscono dettagli sul fatto che lo spazio di archiviazione utilizza byte non compressi logici, byte compressi fisici o byte con spostamento cronologico. Queste informazioni possono aiutarti con attività come la pianificazione la crescita futura e comprendere i pattern di aggiornamento delle tabelle.
Dati inclusi nelle colonne *_BYTES
Le colonne *_BYTES
nelle visualizzazioni dello spazio di archiviazione delle tabelle includono informazioni sul tuo
l'utilizzo dei byte di archiviazione. Queste informazioni vengono determinate esaminando il tuo spazio di archiviazione
per le viste materializzate e i seguenti tipi di tabelle:
- Tabelle permanenti create con uno dei metodi descritti in Creare e utilizzare le tabelle.
- Tabelle temporanee create in sessioni di ricerca. Queste tabelle sono inserite in set di dati con nomi generati come "_c018003e063d09570001ef33ae401fad6ab92a6a".
- Tabelle temporanee create in query con più istruzioni ("script"). Queste tabelle sono inserite in set di dati con nomi generati come "_script72280c173c88442c3a7200183a50eeeaa4073719".
I dati archiviati nel
cache dei risultati delle query
non ti viene addebitato e quindi non è incluso nei valori della colonna *_BYTES
.
Cloni e snapshot mostrano i valori di colonna *_BYTES
come se fossero completi
anziché mostrare il delta rispetto allo spazio di archiviazione utilizzato dalla tabella di base,
quindi sono una sovrastima. La tua fattura tiene conto di questo delta correttamente
nell'utilizzo dello spazio di archiviazione. Per ulteriori informazioni sui byte delta archiviati e fatturati tramite cloni
di snapshot, consulta TABLE_STORAGE_USAGE_TIMELINE
vista.
Previsione della fatturazione dello spazio di archiviazione
Per prevedere la fatturazione mensile dello spazio di archiviazione per un set di dati, puoi usare
la colonna logical
o physical *_BYTES
in questa visualizzazione, a seconda
il
modello di fatturazione dello spazio di archiviazione del set di dati
usato dal set di dati. Tieni presente che questa è solo una previsione approssimativa.
gli importi esatti di fatturazione sono calcolati in base all'utilizzo
all'infrastruttura di fatturazione dello spazio di archiviazione di BigQuery e visibile in
e fatturazione Cloud.
Per i set di dati che utilizzano un modello di fatturazione logica, puoi prevedere i costi di archiviazione come segue:
((valore ACTIVE_LOGICAL_BYTES
/ POW
(1024, 3)) * prezzo per byte logici attivi) +
((valore LONG_TERM_LOGICAL_BYTES
/ POW
(1024, 3)) * prezzo dei byte logici a lungo termine)
Il valore ACTIVE_LOGICAL_BYTES
di una tabella riflette i byte attivi
attualmente usati dalla tabella.
Per i set di dati che utilizzano un modello di fatturazione fisico, puoi prevedere lo spazio di archiviazione come indicato di seguito:
((valore di ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES
/ POW
(1024, 3)) * prezzo dei byte fisici attivi) +
((valore LONG_TERM_PHYSICAL_BYTES
/ POW
(1024, 3)) * prezzo dei byte fisici a lungo termine)
Il valore ACTIVE_PHYSICAL_BYTES
di una tabella riflette i byte attivi
attualmente utilizzato da quella tabella più i byte utilizzati per lo spostamento cronologico di quella tabella.
Per vedere solo i byte attivi della tabella, sottrai il valore
TIME_TRAVEL_PHYSICAL_BYTES
dal valore
Valore ACTIVE_PHYSICAL_BYTES
.
Per ulteriori informazioni, vedi Prezzi dello spazio di archiviazione.
Ruoli obbligatori
Per ottenere le autorizzazioni di cui hai bisogno per eseguire query sulla vista INFORMATION_SCHEMA.TABLE_STORAGE
,
chiedi all'amministratore di concederti
Ruolo IAM Visualizzatore metadati BigQuery (roles/bigquery.metadataViewer
) per il progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene
le autorizzazioni necessarie per eseguire query sulla vista INFORMATION_SCHEMA.TABLE_STORAGE
. Per vedere le autorizzazioni esatte
obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire query sulla vista INFORMATION_SCHEMA.TABLE_STORAGE
sono necessarie le seguenti autorizzazioni:
-
bigquery.tables.get
-
bigquery.tables.list
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Schema
La vista INFORMATION_SCHEMA.TABLE_STORAGE
ha il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
PROJECT_ID |
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_CATALOG |
STRING |
L'ID 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,
noto anche come datasetId . |
TABLE_NAME |
STRING |
Il nome della tabella o della vista materializzata, indicato anche come
tableId . |
CREATION_TIME |
TIMESTAMP |
L'ora di creazione della tabella. |
TOTAL_ROWS |
INT64 |
Il numero totale di righe nella tabella o nella vista materializzata. |
TOTAL_PARTITIONS |
INT64 |
Il numero di partizioni presenti nella tabella o nella vista materializzata. Le tabelle non partizionate restituiscono 0. |
TOTAL_LOGICAL_BYTES |
INT64 |
Numero totale di byte logici (non compressi) nella tabella o vista materializzata. |
ACTIVE_LOGICAL_BYTES |
INT64 |
Numero di byte logici (non compressi) precedenti a 90 giorni. |
LONG_TERM_LOGICAL_BYTES |
INT64 |
Numero di byte logici (non compressi) precedenti a 90 giorni. |
CURRENT_PHYSICAL_BYTES |
INT64 |
Numero totale di byte fisici per l'archiviazione attuale del in tutte le partizioni. |
TOTAL_PHYSICAL_BYTES |
INT64 |
Numero totale di byte fisici (compressi) utilizzati per l'archiviazione, inclusi i viaggi attivi, a lungo termine e nel tempo (dati eliminati o modificati) byte. Fail-safe (dati eliminati o modificati conservati dopo il viaggio nel tempo) (finestra) byte non sono inclusi. |
ACTIVE_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) inferiori a 90 giorni, inclusi i byte relativi ai viaggi nel tempo (dati eliminati o modificati). |
LONG_TERM_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) risalenti a più di 90 giorni fa. |
TIME_TRAVEL_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) utilizzati per l'archiviazione dei viaggi nel tempo (dati eliminati o modificati). |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
L'ora più recente in cui i dati sono stati scritti nella tabella. |
DELETED |
BOOLEAN |
Indica se la tabella è stata eliminata o meno. |
TABLE_TYPE |
STRING |
Il tipo di tabella. Ad esempio, EXTERNAL o
BASE TABLE .
|
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
Numero di byte fisici (compressi) utilizzati dallo spazio di archiviazione fail-safe (dati eliminati o modificati). |
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[_BY_PROJECT] |
Livello 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 di un progetto specifico:
SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE;
L'esempio seguente mostra come restituire le informazioni di archiviazione per le tabelle in un regione specificata:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_PROJECT;
Esempi
Esempio 1:
L'esempio seguente mostra il totale dei byte logici fatturati per progetto attuale.
SELECT SUM(total_logical_bytes) AS total_logical_bytes FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE;
Il risultato è simile al seguente:
+---------------------+ | total_logical_bytes | +---------------------+ | 971329178274633 | +---------------------+
Esempio 2:
L'esempio seguente mostra come prevedere la differenza di prezzo per tra modelli di fatturazione logici e fisici per i prossimi 30 giorni. Questo esempio presuppone che l'utilizzo dello spazio di archiviazione futuro sia costante 30 giorni dal momento dell'esecuzione della query. Tieni presente che la previsione è limitata a di base, esclude tutti gli altri tipi di tabelle in un set di dati.
I prezzi utilizzati nelle variabili di prezzo per questa query si riferiscono a
regione us-central1
. Se vuoi eseguire questa query per un'altra regione,
aggiornare le variabili di prezzo in modo appropriato. Consulta
Prezzi dell'archiviazione per informazioni sui prezzi.
Apri la pagina BigQuery nella console Google Cloud.
Inserisci la seguente query GoogleSQL nella casella Editor query.
INFORMATION_SCHEMA
richiede la sintassi di GoogleSQL. GoogleSQL è la sintassi predefinita nella console Google Cloud.DECLARE active_logical_gib_price FLOAT64 DEFAULT 0.02; DECLARE long_term_logical_gib_price FLOAT64 DEFAULT 0.01; DECLARE active_physical_gib_price FLOAT64 DEFAULT 0.04; DECLARE long_term_physical_gib_price FLOAT64 DEFAULT 0.02; WITH storage_sizes AS ( SELECT table_schema AS dataset_name, -- Logical SUM(IF(deleted=false, active_logical_bytes, 0)) / power(1024, 3) AS active_logical_gib, SUM(IF(deleted=false, long_term_logical_bytes, 0)) / power(1024, 3) AS long_term_logical_gib, -- Physical SUM(active_physical_bytes) / power(1024, 3) AS active_physical_gib, SUM(active_physical_bytes - time_travel_physical_bytes) / power(1024, 3) AS active_no_tt_physical_gib, SUM(long_term_physical_bytes) / power(1024, 3) AS long_term_physical_gib, -- Restorable previously deleted physical SUM(time_travel_physical_bytes) / power(1024, 3) AS time_travel_physical_gib, SUM(fail_safe_physical_bytes) / power(1024, 3) AS fail_safe_physical_gib, FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_PROJECT WHERE total_physical_bytes + fail_safe_physical_bytes > 0 -- Base the forecast on base tables only for highest precision results AND table_type = 'BASE TABLE' GROUP BY 1 ) SELECT dataset_name, -- Logical ROUND(active_logical_gib, 2) AS active_logical_gib, ROUND(long_term_logical_gib, 2) AS long_term_logical_gib, -- Physical ROUND(active_physical_gib, 2) AS active_physical_gib, ROUND(long_term_physical_gib, 2) AS long_term_physical_gib, ROUND(time_travel_physical_gib, 2) AS time_travel_physical_gib, ROUND(fail_safe_physical_gib, 2) AS fail_safe_physical_gib, -- Compression ratio ROUND(SAFE_DIVIDE(active_logical_gib, active_no_tt_physical_gib), 2) AS active_compression_ratio, ROUND(SAFE_DIVIDE(long_term_logical_gib, long_term_physical_gib), 2) AS long_term_compression_ratio, -- Forecast costs logical ROUND(active_logical_gib * active_logical_gib_price, 2) AS forecast_active_logical_cost, ROUND(long_term_logical_gib * long_term_logical_gib_price, 2) AS forecast_long_term_logical_cost, -- Forecast costs physical ROUND((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price, 2) AS forecast_active_physical_cost, ROUND(long_term_physical_gib * long_term_physical_gib_price, 2) AS forecast_long_term_physical_cost, -- Forecast costs total ROUND(((active_logical_gib * active_logical_gib_price) + (long_term_logical_gib * long_term_logical_gib_price)) - (((active_no_tt_physical_gib + time_travel_physical_gib + fail_safe_physical_gib) * active_physical_gib_price) + (long_term_physical_gib * long_term_physical_gib_price)), 2) AS forecast_total_cost_difference FROM storage_sizes ORDER BY (forecast_active_logical_cost + forecast_active_physical_cost) DESC;
Fai clic su Esegui.
Il risultato è simile al seguente:
+--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset_name | active_logical_gib | long_term_logical_gib | active_physical_gib | long_term_physical_gib | active_compression_ratio | long_term_compression_ratio | forecast_active_logical_cost | forecaset_long_term_logical_cost | forecast_active_physical_cost | forecast_long_term_physical_cost | forecast_total_cost_difference | +--------------+--------------------+-----------------------+---------------------+------------------------+--------------------------+-----------------------------+------------------------------+----------------------------------+-------------------------------+----------------------------------+--------------------------------+ | dataset1 | 10.0 | 10.0 | 1.0 | 1.0 | 10.0 | 10.0 | 0.2 | 0.1 | 0.04 | 0.02 | 0.24 |