Statistiche delle tabelle
Bigtable fornisce le statistiche della tabella, ovvero i metadati relativi a una tabella, che forniscono informazioni di riepilogo sulla tabella, come il numero di righe o numero medio di celle per colonna.
Questo documento descrive le statistiche tabella e spiega come ottenerle utilizzando il Google Cloud CLI. Prima di leggere questa pagina, devi conoscere il modello di archiviazione di Bigtable e avere familiarità con le best practice per la progettazione dello schema e con la garbage collection.
Le statistiche della tabella offrono osservabilità in una tabella Bigtable. Possono essere utili per la risoluzione dei problemi relativi alle prestazioni o allo spazio di archiviazione o per determinare l'origine dei costi di archiviazione. Inoltre, possono aiutarti a determinare se stai archiviando più dati di quelli necessari.
Precisione prevista
Quando recuperi le statistiche per una tabella, i dati ottenuti sono approssimativi : le statistiche della tabella riflettono lo stato della tabella in una delle a partire dalla compattazione più recente.
Un insieme completo di statistiche della tabella è disponibile solo dopo la compattazione iniziale, che in genere avviene circa una settimana dopo la data di inizio della tabella è stato creato. Le statistiche delle tabelle sono accurate a partire dalla compattazione più recente, che potrebbe risalire anche a una settimana fa.
Campi relativi alle statistiche della tabella
Una richiesta di statistiche della tabella di una tabella restituisce i seguenti campi. I dettagli e gli esempi sono riportati nella sezione successiva.
Campo Statistiche tabella | Nome API | Descrizione |
---|---|---|
Conteggio delle righe | row_count |
Il numero di righe nella tabella. Per maggiori dettagli, vedi 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 dettagli ed esempio, consulta Numero medio di colonne per riga. |
Numero medio di celle per colonna | average_cells_per_column |
Il numero medio di celle memorizzate in tutte le colonne di tutte le righe. Per maggiori dettagli, consulta 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 Statistiche famiglie 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 dettagli e un esempio, consulta la sezione Media 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 contengono colonne nella famiglia di colonne. Per maggiori dettagli e un esempio, vedi 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, vedi Dati logici in byte. |
Dettagli del campo delle statistiche della tabella
Conteggio delle righe
Il conteggio righe è il numero di righe nella tabella. Ogni riga è identificata dalla sua chiave riga.
Numero medio di colonne per riga
Per ottenere il numero medio di colonne per riga di una tabella, Bigtable conteggia il numero di colonne nell'intera tabella e lo divide per il numero di righe nella tabella.
Ad esempio, considera la seguente tabella. La prima riga ha tre colonne, mentre la seconda ne ha due.
Chiave di riga | Famiglia di colonne A | Famiglia di colonne B | ||
---|---|---|---|---|
chiave di riga 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
chiave di riga 2 | family-A:qualifier-W | family-B:qualifier-Z |
La tabella ha cinque colonne e due righe, quindi il numero medio di colonne per
riga è 2.5
.
Questa statistica tabella ti dà un'idea generale dell'altezza della tabella e strette (poche colonne per riga) o corte e larghe (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 memorizzate nella tabella e lo divide per il numero di colonne nella tabella.
A seconda della progettazione dello schema e dei criteri di garbage collection, la tabella potrebbe avere più celle in una colonna o una sola colonna. Il numero di di celle che puoi archiviare sono vincolate dai limiti di dimensione dei dati delineati nella nella pagina Quote e limiti Dimensioni dei dati all'interno delle tabelle.
Se questo numero è superiore alle tue aspettative, controlla le regole di raccolta del garbage per verificare se stai conservando più celle del necessario. Puoi anche chiedere se è necessario modificare lo schema e i pattern di scrittura.
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 segnalate in Cloud Monitoring è uguale o maggiore dei dati logici in byte di archiviazione dati, potresti archiviare i dati in un formato non è compresso.
Dettagli del campo delle statistiche sulla famiglia di colonne
Le statistiche della tabella per 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 di colonne nella famiglia di colonne per il numero di righe nella tabella.
Considera ad esempio la seguente tabella. La tabella contiene tre righe con
colonne nelle famiglie di colonne family-A
e family-B
.
Chiave di riga | Famiglia di colonne A | Famiglia di colonne B | ||
---|---|---|---|---|
chiave di riga 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
chiave di riga 2 | family-A:qualifier-W | |||
chiave di riga 3 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | family-B:qualifier-Z |
La famiglia di colonne family-A
ha un totale di cinque colonne nella tabella. Se dividiamo questo numero per tre righe, il numero medio di celle per colonna per family-A
è 1.67
(arrotondato a due cifre decimali).
La famiglia di colonne family-B
ha un totale di tre colonne nella tabella. Divideto 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 per colonna di una famiglia di colonne, Bigtable conteggia tutte le celle della famiglia di colonne in tutte le righe della tabella e le divide per il numero di righe della tabella.
Ad esempio, considera le seguenti righe nella famiglia di colonne family-D
.
Chiave di riga | Famiglia di colonne 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 | famiglia-D:qualificatore-W (7 celle) | famiglia-D:qualificatore-Y (6 celle) |
Il numero di celle della famiglia di colonne è 3 + 1 + 10 + 7 + 6 = 27. Questo valore diviso per 3 (il numero di righe) indica che la famiglia di colonne family-D
ha una media di celle per colonna pari a 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 i dati della famiglia di colonne al momento della restituzione delle statistiche della tabella.
Esempio di utilizzo di gcloud CLI
Per ottenere le statistiche per una tabella denominata sample-table
, utilizza il metodo
Comando bigtable instances table describe
:
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID --view stats
Sostituisci quanto segue:
TABLE_ID
: l'identificatore permanente della tabellaINSTANCE_ID
: l'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