Visualizzazione TABLE_STORAGE_BY_FOLDER

La visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER contiene una riga per ogni tabella o vista materializzata nella cartella principale del progetto attuale, incluse le relative sottocartelle.

Questa tabella non contiene dati in tempo reale e potrebbe essere in ritardo di qualche secondo o di qualche minuto. Le modifiche allo spazio di archiviazione derivanti dalla scadenza di partizioni o tabelle o dalle modifiche alla finestra temporale del set di dati potrebbero richiedere fino a un giorno per essere visualizzate nella visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE. Se viene eliminato un set di dati contenente più di 1000 tabelle, questa visualizzazione non rifletterà la modifica finché non sarà trascorso il periodo di tempo per il set di dati eliminato.

Le visualizzazioni dello spazio di archiviazione delle tabelle offrono un modo pratico per osservare il consumo attuale dello spazio di archiviazione e forniscono inoltre dettagli sul tipo di spazio di archiviazione utilizzato: byte logici non compressi, byte fisici compressi o byte time travel. Queste informazioni possono aiutarti in attività come la pianificazione della crescita futura e la comprensione dei pattern di aggiornamento delle tabelle.

Dati inclusi nelle colonne *_BYTES

Le colonne *_BYTES nelle visualizzazioni dello spazio di archiviazione delle tabelle includono informazioni sull'utilizzo dei byte di spazio di archiviazione. Queste informazioni vengono determinate esaminando l'utilizzo dello 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 nelle sessioni. Queste tabelle vengono inserite in set di dati con nomi generati come "_c018003e063d09570001ef33ae401fad6ab92a6a".
  • Tabelle temporanee create in query con più istruzioni ("script"). Queste tabelle vengono inserite in set di dati con nomi generati come "_script72280c173c88442c3a7200183a50eeeaa4073719".

I dati archiviati nella cache dei risultati delle query non ti vengono addebitati e pertanto non sono inclusi nei valori della colonna *_BYTES.

I cloni e gli snapshot mostrano i valori delle colonne *_BYTES come se fossero tabelle complete, anziché mostrare la differenza rispetto allo spazio di archiviazione utilizzato dalla tabella di base, quindi sono una sovrastima. La fattura tiene conto correttamente di questa differenza nell'utilizzo dello spazio di archiviazione. Per ulteriori informazioni sui byte delta archiviati e fatturati dai cloni e dagli snapshot, consulta la visualizzazione TABLE_STORAGE_USAGE_TIMELINE.

Previsione della fatturazione dello spazio di archiviazione

Per prevedere la fatturazione mensile dello spazio di archiviazione per un set di dati, puoi utilizzare le colonne logical o physical *_BYTES in questa visualizzazione, a seconda del modello di fatturazione dello spazio di archiviazione del set di dati utilizzato dal set di dati. Tieni presente che questa è solo una previsione approssimativa e gli importi esatti della fatturazione vengono calcolati in base all'utilizzo da parte dell'infrastruttura di fatturazione dello spazio di archiviazione BigQuery e sono visibili in fatturazione Cloud.

Per i set di dati che utilizzano un modello di fatturazione logica, puoi prevedere i costi di archiviazione mensili nel seguente modo:

((ACTIVE_LOGICAL_BYTES value / POW(1024, 3)) * active logical bytes pricing) + ((LONG_TERM_LOGICAL_BYTES value / POW(1024, 3)) * long-term logical bytes pricing)

Il valore ACTIVE_LOGICAL_BYTES per una tabella riflette i byte attivi attualmente utilizzati dalla tabella.

Per i set di dati che utilizzano un modello di fatturazione fisica, puoi prevedere i costi di archiviazione nel seguente modo:

((valore 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 per una tabella riflette i byte attivi attualmente utilizzati dalla tabella più i byte utilizzati per il time travel per quella tabella.

Per visualizzare i byte attivi della sola tabella, sottrai il valore TIME_TRAVEL_PHYSICAL_BYTES dal valore ACTIVE_PHYSICAL_BYTES.

Per maggiori informazioni, consulta Prezzi di archiviazione.

Autorizzazioni obbligatorie

Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER, devi disporre delle seguenti autorizzazioni Identity and Access Management (IAM) per la cartella principale del progetto:

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

Ognuno dei seguenti ruoli IAM predefiniti include le autorizzazioni precedenti:

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

Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Ruoli e autorizzazioni IAM di BigQuery.

Schema

La visualizzazione INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER ha lo schema seguente:

Nome colonna Tipo di dati Valore
FOLDER_NUMBERS REPEATED INTEGER ID numerici delle cartelle che contengono il progetto, a partire dalla cartella che contiene immediatamente il progetto, seguita dalla cartella che contiene la cartella secondaria e così via. Ad esempio, se FOLDER_NUMBERS è [1, 2, 3], la cartella 1 contiene immediatamente il progetto, la cartella 2 contiene 1 e la cartella 3 contiene 2. Questa colonna viene compilata solo in TABLE_STORAGE_BY_FOLDER.
PROJECT_ID STRING L'ID progetto 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 progetto 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, chiamato anche 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 nella vista materializzata.
ACTIVE_LOGICAL_BYTES INT64 Numero di byte logici (non compressi) risalenti a meno di 90 giorni fa.
LONG_TERM_LOGICAL_BYTES INT64 Numero di byte logici (non compressi) risalenti a più di 90 giorni fa.
CURRENT_PHYSICAL_BYTES INT64 Numero totale di byte fisici per l'archiviazione corrente della tabella in tutte le partizioni.
TOTAL_PHYSICAL_BYTES INT64 Numero totale di byte fisici (compressi) utilizzati per l'archiviazione, inclusi i byte attivi, a lungo termine e time travel (dati eliminati o modificati). I byte Fail-Safe (dati eliminati o modificati conservati dopo il periodo di Time-Travel) non sono inclusi.
ACTIVE_PHYSICAL_BYTES INT64 Numero di byte fisici (compressi) più recenti di 90 giorni, inclusi i byte con spostamento cronologico (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 dallo spazio di archiviazione Time Travel (dati eliminati o modificati).
STORAGE_LAST_MODIFIED_TIME TIMESTAMP L'ultima volta che 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, BASE TABLE.
FAIL_SAFE_PHYSICAL_BYTES INT64 Numero di byte fisici (compressi) utilizzati dallo spazio di archiviazione fail-safe (dati eliminati o modificati).
LAST_METADATA_INDEX_REFRESH_TIME TIMESTAMP L'ultima ora di aggiornamento dell'indice dei metadati della tabella.
TABLE_DELETION_REASON STRING Motivo dell'eliminazione della tabella se il campo DELETED è true. I valori possibili sono:
  • TABLE_EXPIRATION: tabella eliminata dopo il periodo di scadenza impostato
  • DATASET_DELETION: set di dati eliminato dall'utente
  • La tabella USER_DELETED: è stata eliminata dall'utente
TABLE_DELETION_TIME TIMESTAMP L'ora di eliminazione della tabella.

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_BY_FOLDER Cartella che contiene il progetto specificato REGION
Sostituisci quanto segue:
  • (Facoltativo) PROJECT_ID: l'ID del tuo Trusted Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: `region-us`.

Per recuperare le informazioni di archiviazione per le tabelle nella cartella principale del progetto specificato, esegui la seguente query:

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

Esempio

La seguente query mostra quali progetti in una cartella utilizzano la maggiore quantità di spazio di archiviazione:

SELECT
  project_id,
  SUM(total_logical_bytes) AS total_logical_bytes
FROM
  `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_FOLDER
GROUP BY
  project_id
ORDER BY
  total_logical_bytes DESC;

Il risultato è simile al seguente:

+---------------------+---------------------+
|     project_id      | total_logical_bytes |
+---------------------+---------------------+
| projecta            |     971329178274633 |
+---------------------+---------------------+
| projectb            |     834638211024843 |
+---------------------+---------------------+
| projectc            |     562910385625126 |
+---------------------+---------------------+