Ansichten, materialisierte Ansichten und dynamische Tabellen¶
Snowflake bietet eine Vielzahl von Strukturen zum Anzeigen, Materialisieren und anderweitig Transformieren von Daten. Drei der häufigsten Mechanismen sind:
Ansichten: Snowflake bietet das, was als klassische Datenbankansicht bezeichnet werden kann. Im Allgemeinen ermöglicht eine Ansicht (oder auch View im Datenbankkontext) den Zugriff auf das Ergebnis einer Abfrage, als ob es sich um eine Tabelle handeln würde, einschließlich der Verknüpfung (oder auch Join im Datenbankkontext) von zwei oder mehr Tabellen oder anderen Ansichten zu einer einzigen logischen Ansicht. Einmal definiert, können Ansichten wie jede andere Tabelle abgefragt werden.
Materialisierte Ansichten: Materialisierte Ansichten unterscheiden sich von herkömmlichen Ansichten durch die Möglichkeit, das Datenset auf der Grundlage der Abfrage der materialisierten Ansicht vorzuverarbeiten. Da das Ergebnis vorverarbeitet ist, ist das Abfragen einer materialisierten Ansicht schneller als das Ausführen einer Abfrage auf der Basistabelle der Ansicht. Dieser Performanceunterschied kann signifikant sein, wenn eine Abfrage häufig ausgeführt wird oder hinreichend komplex ist. Infolgedessen können materialisierte Ansichten teure Aggregations-, Projektions- und Auswahloperationen beschleunigen, insbesondere solche, die häufig und/oder auf großen Datasets ausgeführt werden.
Dynamische Tabellen: Dynamische Tabellen materialisieren die Ergebnisse einer bestimmten Abfrage. Anstatt eine separate Zieltabelle zu erstellen und Code zu schreiben, um die Daten in dieser Tabelle umzuwandeln und zu aktualisieren, können Sie die Zieltabelle als dynamische Tabelle definieren und die SQL-Anweisung angeben, die die Transformation ausführt. Die Hintergrund-Automatisierung hält dann die dynamische Tabelle auf Grundlage der von Ihnen festgelegten Aktualisierungskriterien auf dem neuesten Stand.
Vergleich von Ansichten, materialisierten Ansichten und dynamischen Tabellen¶
Objekttyp |
Vorteile |
Nachteile |
Einschränkungen und weitere Informationen |
---|---|---|---|
Ansicht |
Einfach, leicht zu definieren, verbraucht keinen Speicherplatz. |
Unflexibel, langsam, erfordert Computing zum Generieren von Ergebnissen. |
|
Materialisierte Ansicht |
Schnelles Abrufen von Ergebnissen. Relativ einfache Definition. Einigermaßen flexibel. Immer auf dem neuesten Stand. |
Verursacht Computing, um aktuell zu bleiben. Verbraucht Speicherplatz. |
Weitere Informationen, einschließlich Einschränkungen bei materialisierten Ansichten, siehe Verwenden von materialisierten Ansichten. |
Dynamische Tabellen |
Extrem schnelles Abrufen der Ergebnisse. Relativ einfache Definition. Sehr flexibel. Differenzierte Steuerung der Aktualisierung. Kann komplexe Transformationen bereitstellen. |
Verursacht Computekosten, um aktuell zu bleiben. Verbraucht Speicherplatz. Erfordert sorgfältige Prüfung, wie oft, wann und wie aktualisiert werden soll. |
Für weitere Informationen, einschließlich Einschränkungen bei dynamischen Tabellen, siehe Dynamische Tabellen. |