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 bieten Einblicke in eine 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 dabei helfen, festzustellen, ob Sie mehr Daten speichern, als Sie benötigen.
Erwartete Genauigkeit
Wenn Sie Tabellenstatistiken für eine Tabelle abrufen, sind die Daten ungefähr. Sie spiegeln den Status der Tabelle in einem der Cluster Ihrer Instanz zum Zeitpunkt der letzten Verdichtung wider.
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 von Spalten pro Zeile | average_columns_per_row |
Die durchschnittliche Anzahl der Spalten in jeder Zeile der gesamten 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. Weitere Informationen 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 Bytes. |
Tabellenstatistiken enthalten außerdem die folgenden Felder für jede Spaltenfamilie in der Tabelle.
Feld „Statistik der Spaltenfamilie“ | API-Name | Beschreibung |
---|---|---|
Durchschnittliche Anzahl von Spalten pro Zeile | average_columns_per_row |
Die durchschnittliche Anzahl der 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, durchschnittlich über alle Zeilen mit Spalten in der Spaltenfamilie. Weitere Informationen und ein Beispiel finden Sie unter Durchschnittliche Anzahl von 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 ist die Anzahl der Zeilen in der Tabelle. Jede Zeile wird durch einen Zeilenschlüssel identifiziert.
Durchschnittliche Anzahl von 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 zwei Spalten.
Zeilenschlüssel | Spaltenfamilie Familie-A | Spaltenfamilie Familie-B | ||
---|---|---|---|---|
Zeilenschlüssel 1 | Familie-A:Qualifier-W | Familie-A:Qualifier-X | Familie-B:Qualifier-Y | |
Zeilenschlüssel 2 | Familie-A:Qualifier-W | Familie-B:Qualifier-Z |
Die Tabelle hat fünf Spalten und zwei Zeilen. Die durchschnittliche Anzahl von Spalten pro Zeile beträgt also 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 der Zellen pro Spalte
Um die durchschnittliche Anzahl der Zellen pro Spalte für eine Tabelle zu ermitteln, wird in Bigtable die Gesamtzahl der in der Tabelle gespeicherten Zellen durch die Anzahl der Spalten in der Tabelle geteilt.
Je nach Schemadesign und Garbage-Collection-Richtlinien kann Ihre Tabelle mehrere oder nur eine Zelle in einer Spalte enthalten. 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 diese Zahl höher als erwartet ist, prüfen Sie Ihre Regeln für die Garbage Collection, um festzustellen, ob Sie mehr Zellen als nötig beibehalten. Sie können auch fragen, ob Ihr Schema und Ihre Schreibmuster angepasst werden sollten.
Logische Daten in Byte (Tabelle)
Dieser Wert entspricht der ungefähren Anzahl der Byte, die zum Lesen der gesamten Tabelle erforderlich wären. Diese Statistik gibt Aufschluss darüber, wie viele Byte in der Tabelle gespeichert sind. Wenn Sie die logischen Daten in Byte kennen, können Sie die Auswirkungen der Komprimierung auf die Tabelle besser nachvollziehen. 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 ergibt sich, indem die Anzahl der Spalten in der Spaltenfamilie durch die Anzahl der Zeilen in der Tabelle geteilt wird.
Betrachten Sie dazu die folgende Tabelle. Die Tabelle enthält drei Zeilen mit Spalten in den Spaltenfamilien family-A
und family-B
.
Zeilenschlüssel | Spaltenfamilie Familie-A | Spaltenfamilie Familie-B | ||
---|---|---|---|---|
Zeilenschlüssel 1 | Familie-A:Qualifier-W | Familie-A:Qualifier-X | Familie-B:Qualifier-Y | |
Zeilenschlüssel 2 | Familie-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 drei Zeilen ergibt sich eine durchschnittliche Anzahl von 1.67
Zellen pro Spalte für family-A
(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 der Zellen pro Spalte
Um die durchschnittliche Anzahl von Zellen pro Spalte einer Spaltenfamilie zu ermitteln, wird in Bigtable die Anzahl aller Zellen in der Spaltenfamilie in allen Zeilen der Tabelle durch die Anzahl der Zeilen in der Tabelle geteilt.
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 Speicherplatz an, den die Spaltenfamilie belegt. Dieser Wert entspricht ungefähr der Anzahl der Byte, die zum Lesen aller Daten in der Spaltenfamilie erforderlich waren, als die Tabellenstatistiken zurückgegeben wurden.
Beispiel mit der gcloud CLI
Verwenden Sie den Befehl bigtable instances table describe
, um Tabellenstatistiken für eine Tabelle namens sample-table
abzurufen:
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID --view stats
Dabei gilt:
TABLE_ID
: Die permanente Kennzeichnung der TabelleINSTANCE_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