Erstellen von materialisierten Ansichten in Amazon Redshift - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von materialisierten Ansichten in Amazon Redshift

In einer Data-Warehouse-Umgebung müssen Anwendungen häufig komplexe Abfragen für große Tabellen ausführen. Ein Beispiel sind SELECT-Anweisungen, die Aggregationen und Joins mit mehreren Tabellen für Tabellen ausführen, die Milliarden von Zeilen enthalten. Die Verarbeitung dieser Abfragen kann teuer sein, was die Systemressourcen und die Zeit bis zur Rückgabe der Ergebnisse betrifft.

Materialisierte Ansichten in Amazon Redshift bieten eine Möglichkeit, diese Probleme zu lösen. Eine materialisierte Ansicht enthält eine vorberechnete Ergebnismenge, die auf einer SQL-Abfrage über eine oder mehrere Basistabellen basiert. Sie können SELECT-Anweisungen verwenden, um eine materialisierte Ansicht abzufragen, so wie Sie auch andere Tabellen oder Ansichten für die Datenbank abfragen können. Amazon Redshift gibt die vorberechneten Ergebnisse aus der materialisierten Ansicht zurück, ohne überhaupt auf die Basistabellen zugreifen zu müssen. Aus Benutzersicht werden die Abfrageergebnisse viel schneller zurückgegeben als beim Abrufen derselben Daten aus den Basistabellen.

Materialisierte Ansichten sind besonders nützlich, um Abfragen zu beschleunigen, die vorhersehbar und wiederholbar sind. Anstatt ressourcenintensive Abfragen für großen Tabellen (z. B. Aggregates oder Mehrfach-Joins) durchzuführen, können Anwendungen eine materialisierte Ansicht abfragen und einen vorberechneten Ergebnissatz abrufen. Stellen Sie sich zum Beispiel das Szenario vor, in dem eine Reihe von Abfragen verwendet wird, um Dashboards zu füllen, z. B. Amazon. QuickSight Dieser Anwendungsfall ist ideal für eine materialisierte Ansicht, da die Abfragen vorhersehbar sind und sich immer wieder wiederholen.

Sie können eine materialisierte Ansicht in Bezug auf andere materialisierte Ansichten definieren. Verwenden Sie materialisierte Ansichten auf materialisierten Ansichten, um die Funktionen der materialisierten Ansichten zu erweitern. Bei diesem Ansatz spielt eine vorhandene materialisierte Ansicht die gleiche Rolle wie eine Basistabelle für die Abfrage zum Abrufen von Daten.

Dieser Ansatz ist besonders nützlich, wenn Sie vorberechnete Joins für unterschiedliche Aggregate- oder GROUP-BY-Optionen wiederverwenden möchten. Nehmen Sie beispielsweise eine materialisierte Ansicht, die Kundeninformationen (Millionen von Zeilen) mit Detailinformationen zur Artikelbestellung (Milliarden von Zeilen) verknüpft. Eine wiederholte On-Demand-Berechnung einer solchen Abfrage ist teuer. Sie können verschiedene GROUP-BY-Optionen für die materialisierten Ansichten verwenden, die über dieser materialisierten Ansicht erstellt wurden, und einen Join mit anderen Tabellen durchführen. Dies verkürzt die Datenverarbeitungszeit, die sonst für die wiederholte Ausführung des teuren zugrundliegenden Joins gebraucht würde. Die STV_MV_DEPS-Tabelle zeigt die Abhängigkeiten einer materialisierten Ansicht auf anderen materialisierten Ansichten.

Wenn Sie eine materialisierte Ansicht erstellen, führt Amazon Redshift die vom Benutzer angegebene SQL-Anweisung aus, um die Daten aus der oder den Basistabelle(n) zu sammeln und den Ergebnissatz zu speichern. Die folgende Abbildung bietet einen Überblick über die materialisierte Ansicht tickets_mv, die eine SQL-Abfrage mithilfe von zwei Basistabellen (events und sales) definiert.

Sie können diese materialisierten Ansichten dann in Abfragen verwenden, um diese zu beschleunigen. Darüber hinaus kann Amazon Redshift diese Abfragen automatisch umschreiben, um materialisierte Ansichten zu verwenden, selbst wenn die Abfrage nicht explizit auf eine materialisierte Ansicht verweist. Das automatische Umschreiben von Abfragen ist besonders geeignet, um die Leistung zu verbessern, wenn Sie Ihre Abfragen nicht ändern können, um materialisierte Ansichten zu verwenden.

Um die Daten in der materialisierten Ansicht manuell zu aktualisieren, können Sie jederzeit die Anweisung REFRESH MATERIALIZED VIEW verwenden. Amazon Redshift identifiziert Änderungen, die in der oder den Basistabelle(n) stattgefunden haben, und wendet diese Änderungen dann auf die materialisierte Ansicht an. Da das automatische Umschreiben von Abfragen erfordert, dass materialisierte Ansichten auf dem neuesten Stand sind, stellen Sie als Eigentümer der materialisierten Ansicht sicher, dass materialisierte Ansichten aktualisiert werden, wenn sich eine Basistabelle ändert.

Amazon Redshift bietet einige Möglichkeiten, um materialisierte Ansichten für das automatische Umschreiben auf dem neuesten Stand zu halten. Sie können beispielsweise eine automatische Aktualisierung für die materialisierten Ansichten konfigurieren, damit diese aktualisiert werden, wenn ihre Basistabellen aktualisiert werden. Dieser automatische Aktualisierungsvorgang wird zu einem Zeitpunkt ausgeführt, zu dem Clusterressourcen verfügbar sind, um Unterbrechungen anderer Workloads zu minimieren. Da die Planung der automatischen Aktualisierung vom Workload abhängig ist, können Sie selbst entscheiden, wann Amazon Redshift Ihre materialisierten Ansichten aktualisieren soll. Für die Planung der Aktualisierung einer materialisierten Ansicht können Sie die Amazon-Redshift-Scheduler-API und die Konsolenintegration verwenden. Weitere Informationen zur Abfrageplanung finden Sie unter Planen einer Abfrage auf der Amazon-Redshift-Konsole.

Dies ist besonders nützlich, wenn ein Service Level Agreement (SLA) für up-to-date Daten aus einer materialisierten Ansicht erforderlich ist. Materialisierte Ansichten, die automatisch aktualisiert werden können, können auch manuell aktualisiert werden. Informationen zum Erstellen materialisierter Ansichten finden Sie unter CREATE MATERIALIZED VIEW.

Sie können SELECT-Anweisungen ausgeben, um eine materialisierte Ansicht abzufragen. Hinweise zum Abfragen materialisierter Ansichten finden Sie unter Abfragen einer materialisierten Ansicht. Der Ergebnissatz veraltet irgendwann, wenn Daten in den Basistabellen eingefügt, aktualisiert und gelöscht werden. Sie können die materialisierte Ansicht jederzeit aktualisieren, um sie mit den neuesten Änderungen aus den Basistabellen auf den neuesten Stand zu bringen. Informationen zum Aktualisieren materialisierter Ansichten finden Sie unter REFRESH MATERIALIZED VIEW.

Weitere Informationen zu SQL-Befehlen zum Erstellen und Verwalten von materialisierten Ansichten finden Sie in den folgenden Themen:

Informationen zu Systemtabellen und Ansichten zum Überwachen materialisierter Ansichten finden Sie in den folgenden Themen: