Tabellen und Ansichten

In Bigtable speichern Sie Ihre Daten in Tabellen und können verschiedene Arten von Ansichten Ihrer Tabellen erstellen. Welche Art von Ansicht Sie verwenden, hängt von Ihrem Anwendungsfall ab.

Tabellen

Eine Bigtable-Tabelle ist eine sortierte Schlüssel/Wert-Paarzuordnung, in der Daten in Zeilen und Spalten gespeichert werden. Jede Zeile wird durch einen einzelnen, eindeutigen Zeilenschlüssel indexiert. Spalten, die sich aufeinander beziehen, sind typischerweise in Spaltenfamilien gruppiert.

Bigtable hat ein flexibles Datenmodell und seine Tabellen sind Sparse Tables. Wenn eine Spalte in einer Zeile nicht verwendet wird, werden also keine Daten für die Spalte gespeichert. Sie müssen keine NULL-Werte für nicht verwendete Spalten speichern, wie es bei einer relationalen Datenbank der Fall wäre. In einer Bigtable-Tabelle kann eine bestimmte Zeile eine Spalte und die nächste Zeile 100 Spalten haben.

In einer Zeile kann eine Spalte mehrere Zellen enthalten, die jeweils durch das Vierertupel (Zeilenschlüssel, Spaltenfamilie, Spaltenqualifizierer, Zeitstempel) identifiziert werden. Durch Speichern mehrerer Zellen in einer Spalte wird erfasst, wie sich die gespeicherten Daten für diese Zeile und Spalte im Laufe der Zeit geändert haben.

Eine Bigtable-Tabelle unterstützt keine Joins und Transaktionen werden nur in einer einzelnen Zeile unterstützt.

Eine Tabelle ist eine Ressource auf Instanzebene, die automatisch auf jeden Cluster in der Instanz repliziert wird. Die Datenaufbewahrung wird durch Richtlinien für die automatische Speicherbereinigung gesteuert, die auf der Ebene der Spaltenfamilie festgelegt werden.

Weitere Informationen finden Sie in der Bigtable-Übersicht und unter Best Practices für das Schemadesign.

Aufrufe

Bigtable unterstützt drei Arten von Tabellenansichten: logische Ansichten, kontinuierliche materialisierte Ansichten und autorisierte Ansichten. Mit Ansichten können Sie Tabellendaten für bestimmte Nutzer und Gruppen freigeben, ohne ihnen Zugriff auf die zugrunde liegenden Quelldaten zu gewähren.

Logische Ansichten

Eine logische Ansicht, oft auch nur Ansicht genannt, ist das Ergebnis einer SQL-Abfrage. Sie fungiert als virtuelle Tabelle, die von anderen SQL-Abfragen abgefragt werden kann. Weitere Informationen finden Sie unter Logische Ansichten erstellen und verwalten.

Kontinuierliche materialisierte Ansichten

Eine kontinuierliche materialisierte Ansicht wird erstellt, indem eine SQL-Abfrage kontinuierlich für eine Bigtable-Tabelle ausgeführt wird. Bigtable erstellt eine neue Tabelle basierend auf der Abfrageausgabe und synchronisiert sie mit der Quelltabelle.

Kontinuierliche materialisierte Ansichten können die Abfrageleistung verbessern. Die neue Tabelle, die kontinuierliche materialisierte Ansicht, hat ein anderes Schema als die Quelltabelle. Sie enthält vorab aggregierte oder transformierte Daten, die für andere Abfragen als die in der Quelltabelle verwendeten optimiert sind.

Kontinuierliche materialisierte Ansichten sind schreibgeschützt. Ihnen werden die Speicherung einer kontinuierlichen materialisierten Ansicht sowie die Verarbeitungskosten für das Erstellen der zweiten Tabelle, das Synchronisieren mit der Quelltabelle und das Replizieren in Rechnung gestellt.

Weitere Informationen finden Sie unter Kontinuierliche materialisierte Ansichten.

Autorisierte Ansichten

Autorisierte Ansichten sind Ansichten von Tabellen, die Sie so konfigurieren, dass sie bestimmte Tabellendaten enthalten. Der Zugriff auf die autorisierte Ansicht wird dann unabhängig vom Zugriff auf die Quelltabelle gewährt. Eine autorisierte Ansicht wird durch eine JSON-formatierte Definitionsdatei definiert.

Im Gegensatz zu kontinuierlichen materialisierten Ansichten oder logischen Ansichten können autorisierte Bigtable-Ansichten verwendet werden, um sowohl den Lese- als auch den Schreibzugriff zu steuern.

Autorisierte Ansichten sind nützlich, wenn Sie Daten für mehrere Kunden in einer Bigtable-Tabelle speichern und jedem Kunden nur Zugriff auf eine Teilmenge der Tabelle gewähren möchten, die seine Daten enthält.

Für autorisierte Ansichten fallen keine zusätzlichen Speicherkosten an.

Weitere Informationen finden Sie unter Autorisierte Ansichten.

Vergleiche

Die folgende Tabelle enthält zusätzliche Informationen zu den Unterschieden zwischen Bigtable-Tabellenansichten.

Logische Ansichten Kontinuierliche materialisierte Ansichten Autorisierte Ansichten
Struktur Virtuelle Tabelle, die die Ergebnisse einer SQL-Abfrage darstellt Schreibgeschützte Tabelle auf Grundlage einer Quelltabelle Teilmenge einer Tabelle
Definition SQL-Abfrage SQL-Abfrage JSON-Definitionsdatei
Konsistenz mit der Quelltabelle Konsistent bei der Ausführung der Abfrage Letztendlich konsistent Konsistent bei der Ausführung der Abfrage
Abfrageoptionen SQL muss verwendet werden SQL oder Bigtable Data API Bigtable Data API
Beschreibbar Nein Nein Ja
Speicherplatz Daten verbleiben in der Quelltabelle Daten werden dupliziert, zusammengefasst oder transformiert und in einer neuen schreibgeschützten Tabelle gespeichert. Daten verbleiben in der Quelltabelle
Nutzungskosten Rechenleistung zum Ausführen der Abfrage Compute-Verarbeitung bei der Synchronisierung, Speicherkosten Rechenleistung zum Ausführen der Abfrage

Nächste Schritte