Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Statistiche della tabella

Cloud Bigtable fornisce statistiche relative alla tabella, ovvero metadati relativi a una tabella, che forniscono informazioni di riepilogo sulla tabella, come il numero di righe o il numero medio di celle per colonna.

Questo documento descrive le statistiche della tabella e spiega come riceverle utilizzando Google Cloud CLI. Prima di leggere questa pagina, devi comprendere il modello di archiviazione Bigtable e conoscere le best practice per la progettazione degli schemi e la garbage collection.

Le statistiche della tabella forniscono osservabilità in una tabella Bigtable. Possono essere utili quando devi risolvere i problemi relativi alle prestazioni o all'archiviazione oppure se vuoi determinare l'origine dei costi di archiviazione. Può anche aiutarti a determinare se stai memorizzando più dati del necessario.

Precisione prevista

Quando recuperi le statistiche di una tabella, i dati che ottieni sono approssimativi; le statistiche della tabella riflettono lo stato della tabella in uno dei cluster dell'istanza alla data della compattazione più recente.

Un insieme completo di statistiche delle tabelle è disponibile solo dopo la comption iniziale, che in genere si verifica circa una settimana dopo la creazione della tabella. Le statistiche tabulari sono accurate fino alla compattazione più recente, che potrebbe risalire fino a una settimana fa.

Campi delle statistiche della tabella

Una richiesta per le statistiche di una tabella restituisce i seguenti campi. I dettagli e gli esempi sono riportati nella sezione successiva.

Campo Statistiche della tabella Nome API Descrizione
Conteggio delle righe row_count Il numero di righe nella tabella. Per maggiori dettagli, consulta Conteggio righe.
Numero medio di colonne per riga average_columns_per_row Il numero medio di colonne in ogni riga per l'intera tabella. Per maggiori dettagli e un esempio, consulta la sezione Numero medio di colonne per riga
Numero medio di celle per colonna average_cells_per_column Il numero medio di celle archiviate in tutte le colonne in tutte le righe. Per maggiori dettagli, consulta la sezione Numero medio di celle per colonna.
Dati logici in byte logical_data_bytes La quantità di spazio occupata dalla tabella. Per maggiori dettagli, consulta Dati logici in byte.

Le statistiche della tabella includono anche i seguenti campi per ogni famiglia di colonne nella tabella.

Campo relativo alle statistiche sulla famiglia di colonne Nome API Descrizione
Numero medio di colonne per riga average_columns_per_row Il numero medio di colonne per riga nella famiglia di colonne. Per maggiori dettagli e un esempio, consulta Numero medio di colonne per riga.
Numero medio di celle per colonna average_cells_per_column Il numero di celle in ogni colonna, calcolato in media su tutte le righe che hanno colonne della famiglia di colonne. Per maggiori dettagli e un esempio, consulta Numero medio di celle per colonna.
Dati logici in byte logical_data_bytes La quantità di spazio occupata dalla famiglia di colonne. Per maggiori dettagli, consulta Dati logici in byte.

Dettagli del campo delle statistiche della tabella

Conteggio delle righe

Il conteggio delle righe è il numero di righe nella tabella. Ogni riga è identificata dalla relativa chiave di riga.

Numero medio di colonne per riga

Per arrivare al numero medio di colonne per riga di una tabella, Bigtable conteggia il numero di colonne dell'intera tabella e suddivide il valore in base al numero di righe della tabella.

Considera la seguente tabella. La prima riga ha tre colonne e la seconda due colonne.

Chiave di riga Famiglia di colonne famiglia-A Famiglia di colonne famiglia-B
chiave di riga 1 famiglia-a:qualificatore-W famiglia-A:qualificatore-X famiglia-B:qualificatore-Y
chiave di riga 2 famiglia-a:qualificatore-W famiglia-B:qualificatore-Z

La tabella ha cinque colonne e due righe, quindi il numero medio di colonne per riga è 2.5.

Questa statistica tabella offre un'idea generale se la tua tabella è alta e stretta (alcune colonne per riga) o corta e larga (molte colonne in ogni riga).

Numero medio di celle per colonna

Per ottenere il numero medio di celle per colonna per una tabella, Bigtable prende il numero totale di celle archiviate nella tabella e lo divide per il numero di colonne nella tabella.

A seconda dei criteri di progettazione dello schema e di garbage collection, la tabella potrebbe contenere più celle di una colonna oppure una sola. Il numero di celle che puoi archiviare è vincolato dai limiti per le dimensioni dei dati descritti nella pagina Quote e limiti in Dimensioni dei dati all'interno delle tabelle.

Se noti che questo numero è superiore al previsto, esamina le regole di garbage collection per verificare se stai conservando più celle del necessario. Potresti anche chiederti se i pattern di schema e scrittura devono essere adeguati.

Dati logici in byte (tabella)

Questo valore rappresenta il numero approssimativo di byte necessari per leggere l'intera tabella. Questa statistica tabella ti dà un'idea di quanti byte sono archiviati nella tabella. Conoscere i dati logici in byte può aiutarti a comprendere l'impatto della compressione sulla tabella. Ad esempio, se le dimensioni della tabella indicate in Cloud Monitoring corrispondono o maggiori ai dati logici in byte per la tabella, potresti archiviare i dati in un formato non facilmente compresso.

Dettagli del campo delle statistiche per la famiglia di colonne

Le statistiche di una tabella includono i seguenti campi per ogni famiglia di colonne della tabella.

Numero medio di colonne per riga

Questo numero viene calcolato dividendo il numero per le colonne della famiglia e il numero per le righe nella tabella.

Considera la seguente tabella. La tabella ha tre righe con colonne nelle famiglie di colonne family-A e family-B.

Chiave di riga Famiglia di colonne famiglia-A Famiglia di colonne famiglia-B
chiave di riga 1 famiglia-a:qualificatore-W famiglia-A:qualificatore-X famiglia-B:qualificatore-Y
chiave di riga 2 famiglia-a:qualificatore-W
chiave di riga 3 famiglia-a:qualificatore-W famiglia-A:qualificatore-X famiglia-B:qualificatore-Y famiglia-B:qualificatore-Z

La famiglia di colonne family-A comprende un totale di cinque colonne nella tabella. Diviso per tre righe, significa che il numero medio di celle per colonna per family-A è 1.67 (arrotondato qui a due cifre decimali).

La famiglia di colonne family-B presenta un totale di tre colonne nella tabella. Diviso per tre righe, il numero medio di colonne per riga per family-A è 1.

Numero medio di celle per colonna

Per determinare il numero medio di celle di una famiglia di colonne per colonna, Bigtable prende il conteggio di tutte le celle della famiglia di colonne in tutte le righe della tabella e lo divide per il numero di righe nella tabella.

Considera per esempio le seguenti righe nella famiglia di colonne family-D.

Chiave di riga Famiglia di colonne famiglia-D
chiave di riga 1 family-D:qualifier-W (3 celle) family-D:qualifier-X (1 cella)
chiave di riga 2 family-D:qualifier-X (10 celle)
chiave di riga 3 family-D:qualifier-W (7 celle) family-D:qualifier-Y (6 celle)

Il numero di celle nella famiglia di colonne è 3 + 1 + 10 + 7 + 6 = 27. Il valore diviso per 3 (il numero di righe) indica che la famiglia di colonne family-D ha una media di celle per colonna di 9.

Dati logici in byte (famiglia di colonne)

I dati logici in byte riflettono lo spazio occupato dalla famiglia di colonne. Questo valore corrisponde approssimativamente al numero di byte necessari per leggere tutti i dati nella famiglia di colonne al momento del reso delle statistiche della tabella.

Esempio di utilizzo dell'interfaccia a riga di comando gcloud

Per visualizzare le statistiche della tabella denominata sample-table, utilizza il comando bigtable instances table describe:

bigtable instances tables describe TABLE_ID \
    --instance=INSTANCE_ID --view stats

Sostituisci quanto segue:

  • TABLE_ID: identificatore permanente della tabella
  • INSTANCE_ID: identificatore permanente dell'istanza

L'output è simile al seguente:

  columnFamilies:
    my-family:
     stats:
       averageCellsPerColumn: 12.34
       averageColumnsPerRow: 56.78
       logicalDataBytes: 314159
  name: projects/my-project/instances/INSTANCE_ID/tables/TABLE_ID
  stats:
    averageCellsPerColumn: 12.34
    averageColumnsPerRow: 56.78
    logicalDataBytes: 314159
    rowCount: 271828

Passaggi successivi