Hybridtabellen¶
Eine Hybridtabelle ist ein Snowflake-Tabellentyp, der durch indexbasierte zufällige Lese- und Schreibvorgänge für niedrige Latenzzeiten und hohen Durchsatz optimiert ist. Hybridtabellen bieten eine zeilenbasierte Speichermaschine, die Zeilensperren für hohe Gleichzeitigkeit unterstützt. Hybridtabellen erzwingen auch eindeutige und referenzielle Integritätsbeschrä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:
Metadaten für Anwendungen und Workflows, wie z. B. die Aufrechterhaltung des Status für einen Aufnahme-Workflow, der Aktualisierungen mit hoher Gleichzeitigkeit in einer einzigen Tabelle von Tausenden von parallelen Arbeitern erfordert.
Bereitstellung von vorberechneten Aggregaten mit geringerer Latenz über eine API oder eine Benutzeroberfläche.
Leichte transaktionale Anwendungen mit relationalen Datenmodellen.
Tipp
Bevor Sie Hybridtabellen erstellen und verwenden, sollten Sie sich mit einigen nicht unterstützten Features und Einschränkungen vertraut machen.
Architektur¶
Hybridtabellen fügen sich nahtlos in die bestehende Snowflake-Architektur ein. Die Kunden verbinden sich mit demselben Snowflake-Datenbankdienst. Abfragen werden in der Cloud-Services-Schicht kompiliert und optimiert und in derselben Abfrage-Engine und den virtuellen Warehouses wie Standardtabellen ausgeführt. Diese Architektur hat 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 verbinden; Abfragen werden 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 in Ihrem Warehouse im Spaltenformat zwischengespeichert werden, um eine bessere Leistung für analytische 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.
Bemerkung
Da der primäre Speicher für Hybridtabellen ein Zeilenspeicher ist, haben Hybridtabellen in der Regel einen größeren Speicherplatzbedarf als Standardtabellen. Der Hauptgrund für den Unterschied ist, dass spaltenförmige Daten für Standardtabellen oft eine höhere Komprimierung erzielen. Weitere Informationen zu den Speicherkosten finden Sie unter Kosten für Hybridtabellen.
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 spaltenweiser Speicherung |
Spaltenweise Mikropartitionen |
Sperre |
Zeilenebene |
Partition oder Tabelle |
PRIMARY KEY-Einschränkungen |
Erforderlich, erzwungen |
Optional, nicht erzwungen |
FOREIGN KEY-Einschränkungen |
Optional, erzwungen (referenzielle Integrität) |
Optional, nicht erzwungen |
UNIQUE-Einschränkungen |
Optional (außer für PRIMARY KEY), erzwungen |
Optional, nicht erzwungen |
NOT NULL-Einschränkungen |
Optional (außer für PRIMARY KEY), erzwungen |
Optional, erzwungen |
Indizes |
Unterstützt für Leistung; beim Schreiben synchron aktualisiert |
Der Suchoptimierungsdienst indiziert Spalten für eine bessere Point-Lookup-Leistung; Batchaktualisierung/-verwaltung asynchron |
Eine Einschränkung ist erzwungen, wenn sie eine Spalte davor schützt, auf bestimmte Weise aktualisiert zu werden. Zum Beispiel kann eine Spalte, die als NOT NULL deklariert ist, keinen NULL-Wert enthalten. Der Versuch, einen NULL-Wert in eine NOT NULL-Spalte zu kopieren oder einzufügen, führt immer zu einem Fehler.
Bei Hybridtabellen können Sie die Eigenschaft NOT ENFORCED nicht für PRIMARY KEY-, FOREIGN KEY- und UNIQUE-Einschränkungen festlegen. Die Einstellung dieser Eigenschaft führt zum Fehler „invalid constraint property“ (ungültige Einschränkungseigenschaft). Weitere Informationen über Regeln für Einschränkungen finden Sie unter Einschränkungen für Hybridtabellen.
Eine Einschränkung ist erforderlich, wenn eine oder mehrere Spalten in einer Tabelle eine solche Einschränkung haben müssen, was nur für PRIMARY KEY-Einschränkungen auf Hybridtabellen zutrifft.
Wann Sie eine Hybridtabelle verwenden sollten¶
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. Hybridtabellen bieten hohe Gleichzeitigkeit und niedrige Latenz für viele Workloads. Die folgenden Typen von Abfragen profitieren am ehesten von Hybridtabellen:
Indexbasierte Random-Point-Lesevorgänge, die eine kleine Anzahl von Datensätzen abrufen, wie z. B. Kundenobjekte
Zufällige Schreibvorgänge mit hoher Gleichzeitigkeit, einschließlich Einfügungen, Aktualisierungen und Zusammenführungen:
Anwendungen arbeiten in der Regel mit einer Mischung aus Hybridtabellen und Standardtabellen, wobei in jedem Tabellentyp unterschiedliche Datensätze gespeichert werden. Sie haben beispielsweise einige Daten, die Sie häufig in großen Mengen laden, scannen und zu Analysezwecken aggregieren, und andere Daten, auf die Sie Zeile für Zeile zugreifen, gefiltert nach einer Spalten-ID und mit hoher Gleichzeitigkeit. Sie können die Verwendung von Standardtabellen und Hybridtabellen in einer einzigen Datenbank je nach den Anforderungen Ihrer Workload mischen.