Tabellenstatistiken

Bigtable bietet Tabellenstatistiken – Metadaten zu einer Tabelle –, die Ihnen zusammenfassende Informationen zur Tabelle liefern, z. B. die Anzahl der Zeilen oder die durchschnittliche Anzahl der Zellen pro Spalte.

In diesem Dokument werden Tabellenstatistiken beschrieben und erläutert, wie Sie sie mit der Google Cloud CLI abrufen. Bevor Sie diese Seite lesen, sollten Sie das Bigtable-Speichermodell verstehen und mit den Best Practices für Schemadesign und der automatischen Speicherbereinigung vertraut sein.

Tabellenstatistiken ermöglichen Beobachtbarkeit in einer Bigtable-Tabelle. Sie können nützlich sein, wenn Sie Probleme mit der Leistung oder dem Speicher beheben oder die Ursache für Speicherkosten ermitteln möchten. Sie können Ihnen auch helfen, ermitteln, ob Sie mehr Daten als nötig speichern.

Erwartete Genauigkeit

Wenn Sie Tabellenstatistiken für eine Tabelle abrufen, erhalten Sie nur ungefähre Daten – die Tabellenstatistiken spiegeln den Status der Tabelle in einem der Cluster seit der letzten Verdichtung.

Vollständige Tabellenstatistiken sind erst nach der ersten Verdichtung verfügbar, die in der Regel etwa eine Woche nach dem Erstellen der Tabelle erfolgt. Die Tabellenstatistiken sind seit der letzten Verdichtung korrekt. Das kann bis zu einer Woche zurückliegen.

Tabellenstatistikfelder

Eine Anfrage für die Tabellenstatistiken einer Tabelle gibt die folgenden Felder zurück. Details und Beispiele finden Sie im nächsten Abschnitt.

Feld „Tabellenstatistiken“ API-Name Beschreibung
Zeilenanzahl row_count Die Anzahl der Zeilen in der Tabelle Weitere Informationen finden Sie unter Zeilenanzahl:
Durchschnittliche Anzahl der Spalten pro Zeile average_columns_per_row Die durchschnittliche Anzahl der Spalten in jeder Zeile für die gesamte Tabelle. Weitere Informationen und ein Beispiel finden Sie unter Durchschnittliche Anzahl von Spalten pro Zeile.
Durchschnittliche Anzahl der Zellen pro Spalte average_cells_per_column Die durchschnittliche Anzahl der Zellen, die in allen Spalten in allen Zeilen gespeichert sind. Für finden Sie unter Durchschnittliche Anzahl von Zellen pro Spalte.
Logische Daten in Byte logical_data_bytes Der von der Tabelle belegte Speicherplatz. Weitere Informationen finden Sie unter Logische Daten in Byte.

Tabellenstatistiken enthalten auch die folgenden Felder für jede Spaltenfamilie in der .

Feld „Statistik der Spaltenfamilie“ API-Name Beschreibung
Durchschnittliche Anzahl der Spalten pro Zeile average_columns_per_row Die durchschnittliche Anzahl von Spalten pro Zeile in der Spaltenfamilie. Weitere Informationen und ein Beispiel finden Sie unter Durchschnittliche Anzahl von Spalten pro Zeile.
Durchschnittliche Anzahl der Zellen pro Spalte average_cells_per_column Die Anzahl der Zellen in jeder Spalte, gemittelt über alle Zeilen, die Spalten in der Spaltenfamilie. Weitere Informationen und ein Beispiel finden Sie unter Durchschnittliche Anzahl der Zellen pro Spalte.
Logische Daten in Byte logical_data_bytes Die Größe der Spaltenfamilie. Weitere Informationen finden Sie unter Logische Daten in Bytes.

Details zum Feld „Tabellenstatistiken“

Zeilenanzahl

Die Zeilenanzahl entspricht der Anzahl der Zeilen in der Tabelle. Jede Zeile wird durch einen Zeilenschlüssel identifiziert.

Durchschnittliche Anzahl der Spalten pro Zeile

Um die durchschnittliche Anzahl von Spalten pro Zeile für eine Tabelle zu ermitteln, zählt Bigtable die Anzahl der Spalten in der gesamten Tabelle und teilt diesen Wert durch die Anzahl der Zeilen in der Tabelle.

Betrachten Sie dazu die folgende Tabelle. Die erste Zeile hat drei Spalten, und die zweite Zeile hat zwei Spalten.

Zeilenschlüssel Spaltenfamilie Familie-A Spaltenfamilienfamilie-B
Zeilenschlüssel 1 Familie-A:Qualifier-W Familie-A:Qualifier-X Familie-B:Qualifier-Y
Zeilenschlüssel 2 family-A:qualifier-W Familie-B:Qualifier-Z

Die Tabelle hat fünf Spalten und zwei Zeilen, sodass die durchschnittliche Anzahl der Spalten pro Zeile ist 2.5.

Diese Tabellenstatistik gibt Ihnen einen allgemeinen Überblick darüber, ob Ihre Tabelle hoch und schmal (wenige Spalten pro Zeile) oder kurz und breit (viele Spalten in jeder Zeile) ist.

Durchschnittliche Anzahl von Zellen pro Spalte

Um die durchschnittliche Anzahl von Zellen pro Spalte für eine Tabelle zu ermitteln, Bigtable verwendet die Gesamtzahl der in der Tabelle gespeicherten Zellen durch die Anzahl der Tabellenspalten dividiert.

Je nach Schemadesign und Richtlinien für die automatische Speicherbereinigung kann Ihre Tabelle mehrere Zellen in einer Spalte oder nur eine. Die Anzahl der Zellen, die Sie speichern können, hängt von den Größenbeschränkungen auf der Seite „Kontingente und Limits“ unter Größe von Daten in Tabellen ab.

Wenn Sie feststellen, dass diese Zahl höher als erwartet ist, überprüfen Sie Ihren Papierkorb um zu sehen, ob mehr Zellen als nötig beibehalten werden. Möglicherweise und fragen Sie auch, ob Ihr Schema und die Schreibmuster angepasst werden sollten.

Logische Daten in Byte (Tabelle)

Dieser Wert stellt die ungefähre Anzahl von Bytes dar, die für die gesamte Tabelle lesen. Diese Tabellenstatistik gibt Ihnen eine Vorstellung davon, wie viele Bytes die in der Tabelle gespeichert sind. Wenn Sie die logischen Daten in Byte kennen, können Sie wie sich die Komprimierung auf den Tisch auswirkt. Wenn beispielsweise die in Cloud Monitoring gemeldete Tabellengröße mit den logischen Daten für die Tabelle übereinstimmt oder größer als diese sind, speichern Sie die Daten möglicherweise in einem Format, das nicht so einfach zu komprimieren ist.

Details zum Feld „Statistik der Spaltenfamilie“

Die Tabellenstatistiken für eine Tabelle enthalten für jede Spaltenfamilie in der Tabelle die folgenden Felder.

Durchschnittliche Anzahl von Spalten pro Zeile

Diese Zahl wird anhand der Anzahl der Spalten in der Spaltenfamilie berechnet. und dividieren diese Zahl durch die Anzahl der Zeilen in der Tabelle.

Sehen Sie sich als Beispiel die folgende Tabelle an. Die Tabelle hat drei Zeilen mit Spalten in den Spaltenfamilien family-A und family-B.

Zeilenschlüssel Spaltenfamilie Familie-A Spaltenfamilienfamilie-B
Zeilenschlüssel 1 Familie-A:Qualifier-W Familie-A:Qualifier-X Familie-B:Qualifier-Y
Zeilenschlüssel 2 family-A:qualifier-W
Zeilenschlüssel 3 Familie-A:Qualifier-W Familie-A:Qualifier-X Familie-B:Qualifier-Y Familie-B:Qualifier-Z

Die Spaltenfamilie family-A hat insgesamt fünf Spalten in der Tabelle. Geteilt durch Zeilen haben, bedeutet dies, dass die durchschnittliche Anzahl von Zellen pro Spalte family-A ist 1.67 (hier auf zwei Dezimalstellen gerundet).

Die Spaltenfamilie family-B hat insgesamt drei Spalten in der Tabelle. Geteilt durch drei Zeilen ergibt sich eine durchschnittliche Anzahl von 1 Spalten pro Zeile für family-A.

Durchschnittliche Anzahl von Zellen pro Spalte

Um die durchschnittliche Anzahl von Zellen pro Spalte einer Spaltenfamilie zu ermitteln, Bigtable ermittelt die Anzahl aller Zellen in der Spaltenfamilie in allen Zeilen der Tabelle und dividiert diese durch die Anzahl der Zeilen in der Tabelle.

Betrachten Sie beispielsweise die folgenden Zeilen in der Spaltenfamilie family-D.

Zeilenschlüssel Spaltenfamilie Familie-D
Zeilenschlüssel 1 Familie-D:Qualifier-W (3 Zellen) Familie-D:Qualifier-X (1 Zelle)
Zeilenschlüssel 2 Familie-D:Qualifier-X (10 Zellen)
Zeilenschlüssel 3 Familie-D:Qualifier-W (7 Zellen) Familie-D:Qualifier-Y (6 Zellen)

Die Anzahl der Zellen in der Spaltenfamilie beträgt 3 + 1 + 10 + 7 + 6 = 27. Dieser Wert geteilt durch 3 (die Anzahl der Zeilen) bedeutet, dass die Spaltenfamilie family-D einen Durchschnitt von 9 Zellen pro Spalte hat.

Logische Daten in Byte (Spaltenfamilie)

Die logischen Daten in Byte geben den von der Spaltenfamilie belegten Platz wieder. Dieser Wert entspricht ungefähr der Anzahl von Byte, die Sie zum Lesen aller die Daten in der Spaltenfamilie zu dem Zeitpunkt, zu dem die Tabellenstatistiken zurückgegeben wurden.

Beispiel mit der gcloud CLI

Um Tabellenstatistiken für eine Tabelle mit dem Namen sample-table abzurufen, verwenden Sie die Methode bigtable instances table describe-Befehl:

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

Dabei gilt:

  • TABLE_ID: Die permanente Kennzeichnung der Tabelle
  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz

Die Ausgabe sieht in etwa so aus:

  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

Nächste Schritte