Arbeiten mit Ansichten - Amazon Athena

Arbeiten mit Ansichten

Eine Ansicht in Amazon Athena ist eine logische, keine physische Tabelle. Die Abfrage, die eine Ansicht definiert, wird jedes Mal ausgeführt, wenn in einer Abfrage auf die Ansicht verwiesen wird. Sie können eine Ansicht aus einer SELECT-Abfrage erstellen und dann in zukünftigen Abfragen auf diese Ansicht verweisen.

In Athena können Sie zwei verschiedene Arten von Ansichten verwenden: Athena-Ansichten und AWS Glue Data Catalog-Ansichten.

Einsetzen von Athena-Ansichten – wann sinnvoll?

Sie können Athena-Ansichten für folgende Zwecke erstellen:

  • Abfrage einer Teilmenge von Daten – Sie können beispielsweise eine Ansicht mit einer Teilmenge der Spalten aus der ursprünglichen Tabelle erstellen. Dadurch werden Abfragen von Daten vereinfacht.

  • Tabellen kombinieren – Sie können Ansichten verwenden, um mehrere Tabellen zu einer Abfrage zu kombinieren. Wenn Sie mehrere Tabellen haben und sie mit UNION ALL kombinieren möchten, können Sie mit diesem Ausdruck eine Ansicht erstellen, um Abfragen für die kombinierten Tabellen zu vereinfachen.

  • Komplexität ausblenden – Verwenden Sie Ansichten, um die Komplexität bestehender Basisabfragen auszublenden und die von Benutzern ausgeführten Abfragen zu vereinfachen. Basis-Abfragen sind häufig Joins zwischen Tabellen, Ausdrücke in der Spaltenliste und andere SQL-Syntax, die schwer zu verstehen und zu debuggen ist. Sie können eine Ansicht erstellen, mit der die Komplexität ausgeblendet wird und die Abfragen vereinfacht werden.

  • Abfragen optimieren – Mithilfe von Ansichten können Sie mit Optimierungstechniken experimentieren, um optimierte Abfragen zu erstellen. Wenn Sie beispielsweise eine Kombination von WHERE-Bedingungen, JOIN-Reihenfolge oder andere Ausdrücke finden, die eine optimale Leistung zeigen, erstellen Sie eine Ansicht mit diesen Klauseln und Ausdrücken. Anwendungen können anschließend relativ einfache Abfragen für diese Ansicht ausführen. Wenn Sie zu einem späteren Zeitpunkt eine bessere Möglichkeit finden, die ursprüngliche Abfrage zu optimieren, wenn Sie die Ansicht neu erstellen, profitieren alle Anwendungen sofort von den Vorteilen der optimierten Basis-Abfrage.

  • Zugrunde liegende Namen ausblenden – Mit Ansichten können Sie zugrunde liegende Tabellen- und Spaltennamen ausblenden und Wartungsprobleme minimieren, wenn sich die Namen ändern. Wenn sich die Namen ändern, können Sie die Ansicht einfach mit den neuen Namen neu erstellen. Abfragen, die die Ansicht anstelle der Tabellen direkt verwenden, werden weiterhin ohne Änderungen ausgeführt.

    Weitere Informationen finden Sie unter Arbeiten mit Athena-Ansichten.

Einsetzen von AWS Glue Data Catalog-Ansichten – wann sinnvoll?

Verwenden Sie AWS Glue Data Catalog-Ansichten, wenn Sie eine einzige gemeinsame Ansicht über AWS-Services hinweg, wie Amazon Athena und Amazon Redshift, wünschen. In Data-Catalog-Ansichten werden die Zugriffsberechtigungen durch den Benutzer definiert, der die Ansicht erstellt hat, und nicht durch den Benutzer, der die Ansicht abfragt. Diese Methode zum Gewähren von Berechtigungen wird als Definer-Semantik bezeichnet.

Die folgenden Anwendungsfälle veranschaulichen, wie Sie Data-Catalog-Ansichten verwenden können.

  • Bessere Zugriffskontrolle – Sie erstellen eine Ansicht, die den Datenzugriff basierend auf der vom Benutzer benötigten Berechtigungsebene einschränkt. Mithilfe von Data-Catalog-Ansichten können Sie beispielsweise verhindern, dass Mitarbeiter, die nicht in der Personalabteilung arbeiten, personenbezogene Daten sehen.

  • Vollständige Datensätze sicherstellen – Durch die Anwendung bestimmter Filter auf Ihre Data-Catalog-Ansicht stellen Sie sicher, dass die Datensätze in einer Data-Catalog-Ansicht immer vollständig sind.

  • Verbesserte Sicherheit – In Data-Catalog-Ansichten muss die Abfragedefinition, mit der die Ansicht erstellt wird, intakt sein, damit die Ansicht erstellt werden kann. Dadurch sind Data-Catalog-Ansichten weniger anfällig für SQL-Befehle von böswilligen Akteuren.

  • Zugriff auf zugrunde liegende Tabellen verhindern – Definer-Semantik ermöglicht es Benutzern, auf eine Ansicht zuzugreifen, ohne ihnen die zugrunde liegende Tabelle zur Verfügung zu stellen. Zugriff auf die Tabellen benötigt nur der Benutzer, der die Ansicht definiert.

Definitionen der Data-Catalog-Ansicht werden im AWS Glue Data Catalog gespeichert. Dies bedeutet, dass Sie AWS Lake Formation verwenden können, um den Zugriff durch Ressourcengewährung, Spaltengewährung oder Tag-basierte Zugriffskontrollen zu gewähren. Weitere Informationen zum Gewähren und Widerrufen des Zugriffs in Lake Formation finden Sie unter Gewähren und Widerrufen von Berechtigungen für Data-Catalog-Ressourcen im AWS Lake Formation-Entwicklerhandbuch.

Weitere Informationen finden Sie unter Datenkatalog-Ansichten in Athena verwenden.