AWS Athena stellt einen anpassungsfähigen und wirtschaftlichen Abfrageservice für Daten dar, die in AWS S3 gespeichert sind.
AWS gehört zu den führenden Cloud-Anbietern weltweit und offeriert eine umfassende Palette an Services für Cloud-Speicher- und Rechenbedürfnisse. AWS-S3 ist ein besonders populärer Dienst innerhalb der AWS-Plattform. Er zeichnet sich durch eine beispiellose Datenhaltbarkeit und -verfügbarkeit aus und ist gleichzeitig eine der kostengünstigsten Speicheroptionen in der Cloud.
Aufgrund des breiten Funktionsumfangs und des theoretisch unbegrenzten Speicherplatzes kann es vorkommen, dass sich Terabyte oder Petabyte an Daten in S3-Buckets ansammeln. Die Analyse solcher Daten gestaltet sich nahezu unmöglich, wenn jede einzelne Datei geöffnet und Petabyte an Daten manuell durchsucht werden müssten. Hier kommt der Dienst AWS Athena ins Spiel.
Vereinfacht ausgedrückt, dient AWS-Athena als Datenanalysedienst, indem er über SQL-Abfragen auf die in S3-Buckets hinterlegten Daten zugreift. Mit grundlegendem SQL-Wissen ist es somit möglich, mit der Analyse von S3-Daten mittels AWS Athena zu beginnen.
Zur Veranschaulichung ein kurzes Beispiel: Angenommen, ein S3-Bucket ist als Zugriffsprotokoll-Bucket für alle Balancer konfiguriert, die in verschiedenen Konten des Unternehmens verwendet werden. Wie ließen sich Protokolldaten von Jahren abfragen und relevante Erkenntnisse aus diesen Protokolldateien gewinnen? Die Antwort lautet AWS Athena.
Funktionsmerkmale von AWS Athena
- SQL-basiertes Werkzeug: AWS Athena ist ein benutzerfreundlicher, SQL-basierter Dienst. Der Nutzer weist Athena einfach auf einen S3-Bucket hin, definiert das Datenschema und kann dann SQL-Abfragen auf diesen Daten ausführen.
- Serverlos: Für den Betrieb von AWS Athena ist keine eigene Infrastruktur erforderlich. Athena arbeitet serverlos und ist optimiert für die automatische Nutzung von Rechenressourcen je nach Bedarf.
- Schnell und effizient: Athena ist darauf ausgelegt, die benötigten Ressourcen optimal zu nutzen und die Abfrageergebnisse so schnell wie möglich zu liefern. Es eignet sich sowohl für kleinere als auch komplexe Analysen von S3-Daten.
- Wirtschaftlich: Athena ist ein „Pay-as-you-go“-Service. Das heißt, es fallen keine Grundgebühren für die Nutzung von AWS Athena an. Kosten entstehen lediglich für die tatsächlich ausgeführten Abfragen.
- Datenhaltbarkeit und Verfügbarkeit: Da Athena auf die Daten in den S3-Buckets zugreift, sind Daten hochverfügbar und dauerhaft gespeichert.
- Unterstützung von Dateiformaten: Athena unterstützt unterschiedliche Dateiformate wie JSON, CSV, Avro und ORC.
- Sicherheit: Athena greift auf Sicherheitsmechanismen wie IAM, Bucket-Richtlinien und ACLs zurück, wodurch ein hohes Sicherheitsniveau gewährleistet wird.
- Athena Backend: Im Hintergrund nutzt Athena Open Source Presto. Presto ist eine verteilte SQL-Engine zur Abfrage und Analyse von Big-Data-Workloads.
Preisgestaltung und Optimierung bei AWS Athena
Bei der Nutzung von AWS Athena wird eine Gebühr von 5 US-Dollar pro Terabyte gescannter Daten berechnet. Dieser Preis kann in bestimmten AWS-Regionen leicht variieren.
- Effiziente Abfragen: SQL-Kenntnisse sind vorteilhaft, da es verschiedene Wege gibt, bestimmte Ergebnisse mithilfe von SQL zu erzielen. Zur Optimierung von Athena sollten effiziente Abfragen verwendet werden, die eine geringere Ausführungszeit erfordern.
- Datentransformation: Für eine weitergehende Abfrageoptimierung können Daten komprimiert, partitioniert oder in ein kleineres Dataset konvertiert werden, was die Ausführungszeit nochmals reduziert. Durch Datentransformationen kann eine Abfrage um bis zu 90% optimiert werden.
- Verknüpfung virtueller Tabellen: Die Verknüpfung von Tabellen stellt eine wichtige SQL-Funktion dar. Obwohl es simpel erscheint, kann diese Operation sehr komplex sein. Es empfiehlt sich, größere Tabellen links und Tabellen mit weniger Daten rechts zu platzieren.
Unterschied zwischen AWS Athena und Redshift Spectrum
Redshift Spectrum ist ein weiterer Service, der für Abfragen in AWS S3-Buckets verwendet werden kann. Beide Services sind serverlos, können komplexe Abfragen auf S3 ausführen und haben einen Preis von 5 US-Dollar pro Terabyte an verarbeiteten Daten. Worin liegt also der Unterschied?
Leistung
AWS Athena greift auf Rechenressourcen aus einem von AWS bereitgestellten Pool zu. Redshift Spectrum verwendet dagegen die Ressourcen, die entsprechend der Größe des Redshift-Clusters zugewiesen sind. Dies ermöglicht eine bessere Kontrolle über die von Redshift Spectrum genutzten Ressourcen, wobei die Clustergröße für eine höhere Leistung jederzeit erhöht werden kann.
Datenladen zur Verarbeitung
Beide Dienste verwenden virtuelle Tabellen für die Ausführung von SQL-Abfragen auf Daten. Diese virtuellen Tabellen werden mithilfe des Glue-Datenkatalogs für das Schema-Management erstellt. Athena kann die Daten direkt aus dem Glue Data Catalog-Schema verwenden, während bei Redshift Spectrum externe Tabellen aus dem Glue Data Catalog-Schema konfiguriert werden müssen.
Diese wesentlichen Unterschiede sollten bei der Wahl zwischen Redshift Spectrum und Athena berücksichtigt werden. Redshift Spectrum ist empfehlenswert, wenn Daten in S3 zusammen mit Daten im Redshift Data Warehouse abgefragt werden sollen, oder wenn eine höhere Investition in die Abfrageleistung erwünscht ist. Athena ist vorteilhaft, wenn sich alle Daten ausschließlich in S3-Buckets befinden.
Unterschied zwischen AWS Athena und S3 Select
S3 Select ist ein weiterer serverloser Dienst von AWS zum Abfragen von Daten in S3 über SQL. Der Hauptunterschied zu Athena besteht darin, dass S3 Select nur SQL-SELECT-Abfragen ermöglicht, während Athena alle Arten von SQL-Abfragen unterstützt. Ein weiterer Vorbehalt bei S3 Select ist, dass SELECT-Operationen jeweils nur für ein einzelnes Objekt durchgeführt werden können.
Für das Abrufen spezifischer Daten oder Teilmengen aus einem S3-Objekt ist S3 Select geeignet. Für komplexere Abfragen und Operationen, wie JOINs oder die Verarbeitung von Daten über einen gesamten S3-Bucket hinweg, sollte AWS Athena verwendet werden.
Vorteile von AWS Athena
- Athena macht die Entwicklung komplexer und teurer Datenanalysetools überflüssig.
- Athena ist serverlos und somit ein einfach zu bedienender Dienst, der keine Wartung der Infrastruktur erfordert.
- AWS hat Athena so optimiert, dass Abfrageergebnisse binnen Sekunden nach der Ausführung der Athena-Abfrage verfügbar sind.
- Da Athena serverlos arbeitet, fallen keine Kosten für den Betrieb des Dienstes selbst an. Es werden lediglich die ausgeführten Abfragen abgerechnet. Selbst bei der Stornierung einer Abfrage werden nur die verarbeiteten Daten in Rechnung gestellt.
- Athena kann problemlos in andere AWS-Dienste integriert werden. Eine besonders wertvolle Integration ist der AWS Glue-Service, ein ETL-Service zur Umwandlung von Daten in eine effizientere, lesbare Form, die dann mit AWS Athena analysiert werden kann.
- Mit Athena können mehrere Abfragen gleichzeitig ausgeführt werden.
Einschränkungen von AWS Athena
- Zeilengröße: Die Zeilengröße in einer virtuellen AWS Athena-Tabelle sollte 32 Megabyte nicht überschreiten. In Ausnahmefällen kann dieses Limit für CSV- und JSON-Dateien auf bis zu 100 Megabyte erhöht werden, aber es ist ratsam, die Zeilengröße auf 32 Megabyte zu beschränken, um unerwünschte Fehler zu vermeiden.
- Ausgeblendete Dateien: Dateien, deren Name mit einem Unterstrich (_) oder Punkt (.) beginnt, werden von Athena als ausgeblendet behandelt. Dies kann genutzt werden, um die Verarbeitung unerwünschter Dateien zu vermeiden.
- Athena kann keine Daten in S3 Glacier oder S3 Glacier Deep Archive verarbeiten. Diese Speicherklassen sind für die Datenarchivierung vorgesehen und haben eine Abrufzeit von Minuten bis Stunden, daher ist es verständlich, dass AWS Athena keine Daten aus diesen Klassen abrufen kann.
- Athena unterstützt keine gespeicherten Prozeduren.
- Athena Version 1 unterstützt keine parametrisierten Abfragen; diese Funktion ist erst ab Athena Version 2 verfügbar.
- Anweisungen wie MERGE, UPDATE, CREATE TABLE LIKE, DESCRIBE INPUT und DESCRIBE OUTPUT werden nicht unterstützt.
Fazit
In diesem Beitrag haben wir das Datenanalysewerkzeug AWS Athena, seine Funktionen, Vorzüge und einige Einschränkungen erläutert. Athena erweist sich als ein starkes Tool zur Bearbeitung und Analyse von Daten in S3-Buckets. Die Einschränkungen des Dienstes sind handhabbar und können bei Bedarf umgangen werden.
Es lohnt sich, einen Blick auf die bewährten Methoden zur Sicherung von AWS S3-Speicher zu werfen.
Hat Ihnen der Artikel gefallen? Dann teilen Sie ihn gerne mit anderen.