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-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 die Tabellen sind spärlich. Wenn eine Spalte in einer Zeile nicht verwendet wird, werden 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. Wenn mehrere Zellen in einer Spalte gespeichert werden, wird aufgezeichnet, 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 in jeden Cluster in der Instanz repliziert wird. Die Datenaufbewahrung wird mit Richtlinien für die automatische Speicherbereinigung gesteuert, die auf der Ebene der Spaltenfamilien festgelegt werden.
Weitere Informationen finden Sie in der Bigtable-Übersicht und unter Best Practices für das Schemadesign.
Aufrufe
Bigtable unterstützt die folgenden Arten von Tabellenansichten: logische Ansichten, kontinuierlich aktualisierte 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 nur als Ansicht bezeichnet – 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.
Kontinuierlich aktualisierte materialisierte Ansichten
Eine kontinuierlich aktualisierte 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.
Kontinuierlich aktualisierte materialisierte Ansichten können die Abfrageleistung verbessern. Die neue Tabelle – die kontinuierlich aktualisierte materialisierte Ansicht – hat ein anderes Schema als die Quelltabelle und enthält voraggregierte oder transformierte Daten, die für andere Abfragen als die in der Quelltabelle verwendeten optimiert sind.
Kontinuierlich aktualisierte materialisierte Ansichten sind schreibgeschützt. Ihnen werden die Speicherung einer kontinuierlich aktualisierten materialisierten Ansicht sowie die Verarbeitungsarbeit in Rechnung gestellt, die für das Erstellen der zweiten Tabelle, das Synchronisieren mit der Quelltabelle und das Replizieren erforderlich ist.
Weitere Informationen finden Sie unter Kontinuierlich aktualisierte materialisierte Ansichten.
Autorisierte Ansichten
Autorisierte Ansichten sind Ansichten von Tabellen, die Sie so konfigurieren, dass sie bestimmte Tabellendaten enthalten, und dann unabhängig vom Zugriff auf die Quelltabelle Zugriff darauf gewähren. Eine autorisierte Ansicht wird durch eine JSON-formatierte Definitionsdatei definiert.
Im Gegensatz zu kontinuierlich aktualisierten 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 Übersicht über autorisierte Ansichten.
Vergleiche
Die folgende Tabelle enthält weitere Informationen zu den Unterschieden zwischen den Bigtable-Tabellenansichten.
| Logische Ansichten | Kontinuierlich aktualisierte materialisierte Ansichten | Autorisierte Ansichten | |
|---|---|---|---|
| Struktur | Virtuelle Tabelle, die die Ergebnisse einer SQL-Abfrage darstellt | Schreibgeschützte Tabelle, die auf einer Quelltabelle basiert | Teilmenge einer Tabelle |
| Definition | SQL-Abfrage | SQL-Abfrage | JSON-Definitionsdatei |
| Konsistenz mit der Quelltabelle | Konsistent, wenn die Abfrage ausgeführt wird | Letztendlich konsistent | Konsistent, wenn die Abfrage ausgeführt wird |
| Abfrageoptionen | SQL muss verwendet werden | SQL oder Bigtable Data API | Bigtable Data API |
| Beschreibbar | Nein | Nein | Ja |
| Speicher | 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 zum Ausführen der Abfrage | Rechenverarbeitung beim Synchronisieren, Speicherkosten | Rechenverarbeitung zum Ausführen der Abfrage |