Tabellen und Ansichten
In Bigtable speichern Sie Ihre Daten in Tabellen und können verschiedene Arten von Ansichten Ihrer Tabellen erstellen. Welche Art von Datenansicht Sie verwenden, hängt vom Anwendungsfall ab.
Tabellen
Eine Bigtable-Tabelle ist eine sortierte Schlüssel/Wert-Zuordnung, in der Daten in Zeilen und Spalten gespeichert werden. Jede Zeile wird durch einen einzelnen eindeutigen Zeilenschlüssel indexiert. Spalten, die miteinander zusammenhängen, werden normalerweise in einer Spaltenfamilie gruppiert.
Bigtable hat ein flexibles Datenmodell und seine Tabellen sind sparsity-optimiert. Wenn eine Spalte in einer Zeile nicht verwendet wird, werden für die Spalte keine Daten 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 Zeile eine Spalte und die daneben stehende 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.
Bigtable-Tabellen unterstützen 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 mithilfe von Richtlinien für die automatische Speicherbereinigung gesteuert, die auf Ebene der Spaltenfamilie festgelegt werden.
Weitere Informationen finden Sie unter Bigtable-Übersicht und 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 als Ansicht bezeichnet, ist das Ergebnis einer SQL-Abfrage. Sie fungiert als virtuelle Tabelle, die mit 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 kontinuierlich eine SQL-Abfrage auf eine Bigtable-Tabelle ausgeführt wird. Bigtable erstellt anhand der Abfrageausgabe eine neue Tabelle und hält sie mit der Quelltabelle synchron.
Kontinuierlich 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 Kosten für das Speichern einer kontinuierlichen materialisierten Ansicht sowie für die Verarbeitungskosten in Rechnung gestellt, die beim Erstellen der zweiten Tabelle, beim Synchronisieren mit der Quelltabelle und beim Replizieren anfallen.
Weitere Informationen finden Sie unter Kontinuierliche materialisierte Ansichten.
Autorisierte Ansichten
Autorisierte Ansichten sind Tabellenansichten, die Sie so konfigurieren, dass sie bestimmte Tabellendaten enthalten, und auf die Sie unabhängig vom Zugriff auf die Quelltabelle Zugriff gewähren. Eine autorisierte Ansicht wird in einer JSON-formatierten Definitionsdatei definiert.
Im Gegensatz zu kontinuierlichen materialisierten Ansichten oder logischen Ansichten können mit autorisierten Bigtable-Ansichten sowohl Lese- als auch Schreibzugriff gesteuert werden.
Autorisierte Ansichten sind nützlich, wenn Sie Daten für mehrere Kunden in einer Bigtable-Tabelle speichern und jedem Kunden nur Zugriff auf einen Teil der Tabelle gewähren möchten, der seine Daten enthält.
Für autorisierte Ansichten fallen keine zusätzlichen Speicherkosten an.
Weitere Informationen finden Sie unter Autorisierte Ansichten.
Vergleiche
In der folgenden Tabelle finden Sie weitere Informationen dazu, wie sich Bigtable-Tabellenansichten voneinander unterscheiden.
Logische Ansichten | Kontinuierliche materialisierte Ansichten | Autorisierte Ansichten | |
---|---|---|---|
Struktur | Virtuelle Tabelle, die die Ergebnisse einer SQL-Abfrage darstellt | Schreibgeschützte Tabelle auf Basis einer Quelltabelle | Teilmenge einer Tabelle |
Definition | SQL-Abfrage | SQL-Abfrage | JSON-Definitiondatei |
Übereinstimmung mit der Quelltabelle | Sie müssen bei der Ausführung der Abfrage konsistent sein. | Endgültig konsistent | Sie müssen bei der Ausführung der Abfrage konsistent sein. |
Abfrageoptionen | SQL muss verwendet werden | SQL oder Bigtable Data API | Bigtable Data API |
Beschreibbar | Nein | Nein | Ja |
Speicherplatz | Daten bleiben in der Quelltabelle | Daten werden dupliziert, aggregiert oder transformiert und in einer neuen schreibgeschützten Tabelle gespeichert. | Daten bleiben in der Quelltabelle |
Nutzungskosten | Rechenverarbeitung zur Ausführung der Abfrage | Rechenleistung bei der Synchronisierung, Speicherkosten | Rechenverarbeitung zur Ausführung der Abfrage |