AWS Athena : tout ce que vous devez savoir

AWS Athena est un service de requête flexible et économique pour les données stockées dans AWS S3.
AWS est l'un des plus grands fournisseurs de cloud au monde. Il offre une multitude de services pour le stockage en nuage et les besoins de calcul. AWS S3 est l'un des services les plus populaires sur le AWS platformulaire. Il offre une durabilité et une disponibilité des données inégalées tout en étant l'une des options de stockage les moins chères dans le cloud.

Compte tenu de sa multitude de fonctionnalités et de théoriesally stockage infini, il vous est possible d'avoir des téraoctets ou des pétaoctets de données dans des compartiments S3. L'analyse de ces données est presque impossible si nous devions ouvrir chaque fichier et lire des pétaoctets de données dans le manuel.ally. C'est là qu'intervient le service AWS Athena.
En termes simples, AWS Athéna est utilisé comme un service d'analyse de données en accédant simplement aux données disponibles dans le compartiment S3 à l'aide de requêtes SQL. Ainsi, si vous comprenez même les bases de SQL, vous pouvez commencer à travailler sur l'analyse des données S3 avec AWS Athena.
Comprenons cela avec un court exemple. Supposons que vous ayez configuré l'un de vos compartiments en tant que compartiment de journaux d'accès pour tous les équilibreurs que vous avez dans plusieurs comptes de votre organisation. Comment interrogeriez-vous des années de données de journaux et obtiendriez-vous des informations importantes et significatives à partir de ces fichiers journaux ? La réponse est AWS Athena.
Fonctionnalités d'AWS Athena
- Outil basé sur SQL : AWS Athena est un service basé sur SQL très simple à utiliser. Vous pointez simplement Athena vers l'un de vos compartiments, définissez le schéma de vos données, puis commencez à utiliser les requêtes SQL dans votre compartiment.
- Sans serveur : Vous n'avez pas besoin de maintenir une infrastructure pour exécuter AWS Athena. Athena est sans serveur et est optimisé pour utiliser automatiquement plusieurs ressources de calculally selon vos besoins.
- Rapide et optimisé : Athena a été optimisé pour utiliser un nombre efficace de ressources afin de fournir les résultats de votre requête dès que possible. Cela fonctionne très bien avec des analyses petites et complexes des données S3.
- Rentable: Athena est un service payant. Cela signifie qu'il n'y a pas de coût de base pour l'utilisation d'AWS Athena ; vous ne payez que pour les requêtes que vous exécutez dans le service Athena.
- Pérennité et Disponibilité des données : Étant donné qu'Athena s'appuie sur les données de vos compartiments S3, vous pouvez être assuré que les données sont hautement disponibles et durables.
- Technique: Athena prend en charge plusieurs formats de fichiers tels que JSON, CSV, Avro, ORC, etc.
- Sécurité : Athena utilise des fonctionnalités de sécurité telles que IAM, les politiques de compartiment et les ACL, ce qui le rend hautement sécurisé.
- Athena Backend : Athena utilise l'open-source Presto comme arrière-plan. Presto est un moteur SQL distribué pour interroger et analyser les charges de travail Big Data.
Tarification et optimisation d'AWS Athena
Lorsque vous utilisez AWS Athena, des frais de 5 $ par téraoctet analysé vous seront facturés lors de l'utilisation d'AWS Athena. Ce prix peut varier légèrement pour certaines régions AWS.
- Requêtes efficaces: Si vous connaissez SQL, vous devez savoir qu'il peut exister plusieurs façons d'obtenir certains résultats à partir de données à l'aide de SQL. Pour optimiser Athena, vous pouvez utiliser des requêtes efficaces qui devraient prendre moins de temps pour exécuter vos requêtes.
- Transformation des données: Si vous souhaitez optimiser davantage vos requêtes, vous pouvez compresser, partitionner ou convertir vos données en un ensemble de données plus petit, ce qui réduit encore le temps d'exécution de vos requêtes. En utilisant la transformation des données, vous pouvez optimiser votre requête jusqu'à 90 %.
- Rejoindre des tables virtuelles : La jointure de tables est une fonctionnalité très importante de SQL. Bien que cela puisse sembler une opération simple, cela peut être une opération très complexe. Il est recommandé de conserver les tableaux plus grands à gauche et les tableaux contenant moins de données à droite.
Différence entre AWS Athena et Redshift Spectrum
Redshift Spectrum est un autre service qui peut être utilisé pour exécuter des requêtes sur les compartiments AWS S3. Redshift Spectrum et Athena sont sans serveur, peuvent exécuter des requêtes complexes sur S3 et coûtent 5 % par terraoctet de données. processed, alors quelle est la différence ?
Performance
AWS Athena utilise des ressources de calcul provenant d'un pool de ressources fourni par AWS. En revanche, le spectre Redshift utilise les ressources allouéesated en fonction de la taille du cluster Redshift. Cela vous permet d'avoir plus de contrôle sur les ressources utilisées par le service Redshift Spectrum, et si vous souhaitez des performances améliorées, vous pouvez toujours augmenter la taille de votre cluster Redshift.
Chargement des données pour processing
Les deux services utilisent des tables virtuelles pour exécuter des requêtes SQL sur vos données. Les tables virtuelles sont créées à l'aide du catalogue de données Glue pour la gestion des schémas. Athena peut utiliser directement les données du schéma Glue Data Catalog, tandis que lors de l'utilisation de Redshift Spectrum, vous devrez configurer des tables externes à partir du schéma Glue Data Catalog.
Ce sont les principales différences entre les deux services, donc lors du choix entre le spectre Redshift et Athena. Vous devez utiliser Redshift Spectrum si vous souhaitez interroger des données dans S3 avec les données stockées dans l'entrepôt de données Redshift ou si vous êtes prêt à payer des coûts plus élevés pour améliorer les performances de vos requêtes dans S3. Athena peut être utile lorsque toutes vos données se trouvent uniquement dans les compartiments S3.
Différence entre AWS Athena et S3 Select
S3 select est un autre service sans serveur d'AWS pour interroger des données dans S3 à l'aide de SQL. Cependant, la principale différence entre S3 Select et Athena est que vous ne pouvez utiliser les requêtes SQL SELECT que lorsque vous utilisez S3 Select, tandis qu'Athena peut être utilisé pour toutes sortes de requêtes SQL. Une autre limitation de la sélection S3 est que vous ne pouvez effectuer l'opération SELECT que sur un objet à la fois.
Ainsi, si votre besoin est uniquement d'extraire des données ou un sous-ensemble de données d'un objet S3, vous devez utiliser S3 Select. Pour les requêtes et opérations complexes comme JOIN ou pour process les données dans un compartiment S3 entier, vous devez utiliser AWS Athena.
Avantages de l'utilisation d'AWS Athena
- Athéna éliminéeateC'est la nécessité de développer un outil d'analyse de données complexe et coûteux pour vos données.
- Athena est sans serveur, ce qui en fait un service assez facile à utiliser. Vous n'avez pas besoin d'entretenir l'infrastructure.
- AWS a optimisé Athena pour pouvoir récupérer les résultats de la requête quelques secondes après l'exécution de la requête Athena.
- Comme Athena est sans serveur, vous n'avez pas à payer pour le service Athena. Vous ne payez que pour les requêtes que vous choisissez d'exécuter. Même si vous deviez annuler une requête, vous ne seriez facturé que pour les données processed et pas la requête entière.
- Athéna peut être intégréeated avec d'autres services AWS facilement. L'une des intégrations les plus importantes et les plus précieuses pour AWS Athena concerne le service AWS Glue. AWS Glue est un ETL service qui peut être utilisé pour transformer les données sous une forme plus efficace et lisible, qui peut ensuite être analysée avec AWS Athena.
- Athena vous permet d'exécuter plusieurs requêtes simultanémentneousuellement.
Limites d'AWS Athena
- Taille de ligne : La taille de ligne dans une table AWS Athena virtuelle ne doit pas dépasser 32 mégaoctets. Cette limite peut être augmentée dans des cas très limités pour les fichiers CSV et JSON jusqu'à 100 mégaoctets, mais il est fortement recommandé de limiter la taille de ligne à 32 mégaoctets pour éviter les erreurs indésirables.
- Fichiers cachés: Les fichiers dont les noms commencent par un trait de soulignement (_) ou un point (.) sont treated comme caché par le service Athena. Cela peut être utilisé comme fonctionnalité pour éviter processing fichiers indésirables.
- Athéna est incapable d' process données dans S3 Glacier ou Arc profond du glacier S3hive. Ces classes de stockage sont uniquement destinées aux options d'archivage de données et ont un temps de récupération allant de quelques minutes à quelques heures. Il est donc clair si AWS Athena ne peut pas récupérer les données de ces classes.
- Athéna ne supporte pas procédures stockées.
- Athéna version 1 ne prend pas en charge les requêtes paramétrées. Ceci est pris en charge dans la version 2 d'Athena.
- Statedes éléments comme MERGE, UPDATE, CREATE TABLE COMME,
DESCRIBE INPUT
et leDESCRIBE OUTPUT
ne sont pas pris en charge.
Conclusion
Dans cet article, nous avons discuté de l'outil d'analyse de données d'AWS, l'AWS Athena, de ses fonctionnalités, de ses avantages et de certaines limitations. Athena est l'un des outils les plus puissants pour processing et analyse des données dans des compartiments S3. Même les limitations du service sont assez simples et peuvent être contournées si nécessaire.
Vous pouvez également consulter certaines des meilleures pratiques pour stockage AWS S3 sécurisé.