Hybridtabellen¶
Eine Hybridtabelle ist ein Snowflake-Tabellentyp, der für hybride transaktionale und operative Workload optimiert ist, die eine niedrige Latenz und einen hohen Durchsatz bei kleinen zufälligen Lese- und Schreiboperationen erfordern. Eine Hybridtabelle unterstützt die Durchsetzung eindeutiger und referenzieller Integritätseinschränkungen, die für transaktionale Workloads entscheidend sind. Sie können eine Hybridtabelle zusammen mit anderen Snowflake-Tabellen und -Features verwenden, um Unistore-Workloads zu bewältigen, die transaktionale und analytische Daten in einer einzigen Plattform zusammenführen.
Zu den Anwendungsfällen, die von Hybridtabellen profitieren können, gehören:
Erstellen einer Kohorte für eine gezielte Marketingkampagne über eine interaktive Benutzeroberfläche.
Verwalten eines zentralen Workflow-Status zur Koordinierung großer paralleler Datentransformationspipelines.
Anbieten einer vorberechneten Werbebehandlung für Nutzer, die Ihre Website oder mobile App besuchen.
Architektur¶
Hybridtabellen werden nahtlos in die bestehende Snowflake-Architektur integriert. Die Kunden verbinden sich mit demselben Snowflake-Datenbankdienst. Abfragen werden in der Clouddiensteschicht kompiliert und optimiert und über dieselbe Abfrage-Engine der virtuellen Warehouses ausgeführt. Dies bietet mehrere entscheidende Vorteile:
Die Features der Snowflake-Plattform, wie z. B. Data Governance, können sofort mit Hybridtabellen genutzt werden.
Sie können hybride Workloads ausführen, die operative und analytische Abfragen mischen.
Sie können Hybridtabellen mit anderen Snowflake-Tabellen verknüpfen und die Abfrage wird nativ und effizient in derselben Abfrage-Engine ausgeführt. Es ist keine Authentifizierung erforderlich.
Sie können eine atomare Transaktion über Hybridtabellen und andere Snowflake-Tabellen ausführen. Es besteht keine Notwendigkeit, ein eigenes zweistufiges Commit zu organisieren.
Hybridtabellen nutzen einen Zeilenspeicher als primären Datenspeicher, um eine hervorragende Leistung bei operativen Abfragen zu erzielen. Wenn Sie in eine Hybridtabelle schreiben, werden die Daten direkt in den Zeilenspeicher geschrieben. Die Daten werden asynchron in den Objektspeicher kopiert, um eine bessere Performance und Workload-Isolation für große Scans sicherzustellen, ohne die laufenden operativen Workloads zu beeinträchtigen. Einige Daten können auch im Spaltenformat in Ihrem Warehouse zwischengespeichert werden, um eine bessere Leistung bei analytischen Abfragen zu erzielen. Sie führen einfach SQL-Anweisungen auf der logischen Hybridtabelle aus, und die Abfrageoptimierung von Snowflake entscheidet, von wo die Daten gelesen werden sollen, um die beste Leistung zu erzielen. Sie erhalten eine einheitliche konsistente Sicht auf Ihre Daten, ohne sich um die zugrunde liegende Infrastruktur kümmern zu müssen.
Features¶
Hybridtabellen bieten einige zusätzliche Features, die von anderen Snowflake-Tabellentypen nicht unterstützt werden.
Feature |
Hybridtabellen |
Standardtabellen |
---|---|---|
Primärdatenlayout |
Zeilenorientiert, mit sekundärer Spaltenbildung |
Spaltenweise Mikropartitionen |
Sperre |
Zeilensperre |
Partitionen- oder Tabellensperre |
Primärschlüssel |
Erforderlich, erzwungene Eindeutigkeit |
Optional, nicht erzwungen |
Fremdschlüssel |
Optional, erzwungene referenzielle Integrität |
Optional, nicht erzwungen |
Einschränkungen |
Unterstützt die Durchsetzung von eindeutigen Einschränkungen, Einschränkungen der referenziellen Integrität |
Nicht unterstützt |
Indizes |
Unterstützt für Leistung; Indizes werden beim Schreiben synchron aktualisiert |
Suchoptimierung indiziert Spalten für bessere Leistung bei Punktsuchoperationen; Batchaktualisierung/-verwaltung erfolgt asynchron |
Ermitteln, wann eine Hybridtabelle verwendet werden sollte¶
Während Sie von Snowflake-Standardtabellen eine bessere Leistung bei großen analytischen Abfragen erwarten sollten, ermöglichen Hybridtabellen schnellere Ergebnisse bei operativen Abfragen mit kurzer Ausführungszeit. Die folgenden Typen von Abfragen profitieren am ehesten von Hybridtabellen:
Zufällige Punktleseoperationen mit hoher Parallelität vs. Leseoperationen mit großem Umfang.
Zufällige Schreiboperationen mit hoher Parallelität vs. große sequenzielle Schreiboperationen (z. B. Massenladen).
Abrufen einer kleinen Anzahl vollständiger Datensätze (z. B. Kundenobjekt) vs. enge Projektionen mit analytischen Funktionen (z. B. Aggregationen oder GROUP BY-Gruppierungen).
Wenn Ihre Abfragen zu einem dieser Modelle passen, sind Hybridtabellen möglicherweise die beste Wahl für die Speicherung Ihrer Daten.