Tout ce que tu as besoin de savoir



AWS Athena se présente comme une solution d’interrogation flexible et économique, spécialement conçue pour explorer les données hébergées sur AWS S3.

En tant que pilier du cloud computing, AWS offre une gamme étendue de services, notamment pour le stockage et la puissance de calcul. AWS S3, figure parmi les services les plus prisés de cette plateforme. Il garantit une durabilité et une disponibilité des données exceptionnelles, tout en étant une option de stockage parmi les plus abordables dans le cloud.

Avec sa richesse fonctionnelle et sa capacité de stockage quasiment illimitée, il est aisé de concevoir des environnements avec des téraoctets, voire des pétaoctets de données, stockés dans des compartiments S3. L’analyse manuelle de telles masses de données s’avère pratiquement impossible. C’est ici qu’AWS Athena entre en jeu.

En résumé, AWS Athena agit comme un service d’analyse de données, permettant d’accéder aux informations stockées dans les compartiments S3 via des requêtes SQL. Ainsi, même avec des connaissances basiques en SQL, il est possible de commencer l’analyse de données S3 avec AWS Athena.

Prenons un exemple concret : supposons que l’un de vos compartiments est configuré pour enregistrer les logs d’accès de l’ensemble de vos équilibreurs répartis dans différents comptes de votre organisation. Comment analyser ces années d’historique et extraire des informations pertinentes ? La réponse est : avec AWS Athena.

Les Caractéristiques Clés d’AWS Athena

  • Un outil basé sur SQL : AWS Athena est un service qui utilise le langage SQL et se distingue par sa simplicité. Il suffit d’indiquer le compartiment S3, de définir le schéma de vos données, et vous pouvez commencer à exécuter des requêtes SQL sur vos données.
  • Une solution sans serveur : L’exécution d’AWS Athena ne nécessite aucune maintenance d’infrastructure. Athena est une solution « serverless », qui adapte automatiquement ses ressources de calcul en fonction des besoins.
  • Rapide et optimisé : Athena est conçu pour utiliser efficacement les ressources et fournir des résultats de requêtes dans les meilleurs délais. Son efficacité est avérée, aussi bien pour les analyses de données S3 simples que pour les plus complexes.
  • Rentable : Athena adopte un modèle de tarification à l’usage. Autrement dit, aucun coût fixe n’est appliqué; vous payez uniquement les requêtes que vous exécutez.
  • Durabilité et disponibilité des données : Puisque Athena s’appuie sur les données présentes dans vos compartiments S3, vous bénéficiez de la haute disponibilité et de la durabilité qu’offre ce service.
  • Compatibilité étendue : Athena prend en charge de multiples formats de fichiers tels que JSON, CSV, Avro et ORC.
  • Sécurité renforcée : Athena intègre des mécanismes de sécurité comme IAM, les politiques de compartiment et les listes de contrôle d’accès, assurant une protection optimale de vos données.
  • Moteur d’Athena : Athena s’appuie sur la solution open-source Presto en arrière-plan. Presto est un moteur SQL distribué conçu pour interroger et analyser les charges de travail Big Data.

Tarification et Optimisation d’AWS Athena

L’utilisation d’AWS Athena est facturée à hauteur de 5$ par téraoctet de données analysées. Ce tarif peut varier légèrement selon les régions AWS.

  • Requêtes optimisées : Si vous avez des compétences en SQL, vous savez qu’il existe souvent plusieurs manières d’obtenir un même résultat. Pour optimiser Athena, privilégiez des requêtes efficaces, qui s’exécuteront plus rapidement.
  • Transformation des données : Vous pouvez également améliorer vos requêtes en compressant vos données, en les partitionnant, ou en les convertissant dans un format plus petit, ce qui réduira le temps d’exécution. L’optimisation par transformation des données peut améliorer vos requêtes jusqu’à 90%.
  • Jointures de tables virtuelles : Les jointures de tables sont essentielles en SQL. Bien que cela puisse paraître simple, cette opération peut être très consommatrice de ressources. Il est conseillé de placer les tables les plus volumineuses à gauche, et les tables plus petites à droite.

Comparaison entre AWS Athena et Redshift Spectrum

Redshift Spectrum est un autre service permettant d’interroger les données hébergées dans des compartiments AWS S3. Ces deux services sont sans serveur, capables de traiter des requêtes complexes sur S3 et facturés 5$ par téraoctet de données traitées. Alors, quelle est la différence?

Performance

AWS Athena s’appuie sur un pool de ressources de calcul fournies par AWS, tandis que Redshift Spectrum utilise les ressources allouées en fonction de la taille du cluster Redshift. Cela permet un meilleur contrôle des ressources employées par Redshift Spectrum. Si nécessaire, vous pouvez augmenter la taille de votre cluster Redshift pour améliorer les performances.

Chargement des données pour le traitement

Les deux services exploitent des tables virtuelles pour exécuter des requêtes SQL. Ces tables sont créées à partir du catalogue de données Glue pour la gestion des schémas. Athena peut directement utiliser les schémas de Glue Data Catalog, tandis que Redshift Spectrum nécessite la configuration de tables externes à partir du schéma Glue.

Ces différences sont essentielles lors du choix entre Redshift Spectrum et Athena. Préférez Redshift Spectrum pour interroger des données S3 associées à des données stockées dans un entrepôt Redshift, ou si vous êtes prêt à investir davantage pour améliorer les performances de vos requêtes S3. Athena est plus adapté lorsque l’ensemble de vos données réside exclusivement dans des compartiments S3.

Différence entre AWS Athena et S3 Select

S3 Select est une autre option sans serveur d’AWS pour interroger des données S3 via SQL. Toutefois, la différence principale réside dans le fait que S3 Select limite les requêtes à l’instruction SELECT, tandis qu’Athena prend en charge toutes les commandes SQL. De plus, S3 Select ne permet d’appliquer l’opération SELECT qu’à un seul objet à la fois.

Ainsi, si votre besoin se limite à extraire des données ou un sous-ensemble de données depuis un objet S3, S3 Select est suffisant. Pour des requêtes et des opérations complexes comme les jointures, ou pour traiter des données dans un compartiment S3 entier, AWS Athena est la solution appropriée.

Les Avantages de l’Utilisation d’AWS Athena

  • Athena élimine la nécessité de développer un outil d’analyse de données complexe et coûteux.
  • Athena est un service sans serveur, ce qui facilite grandement son utilisation. Aucune maintenance d’infrastructure n’est nécessaire.
  • AWS a optimisé Athena afin de fournir des résultats de requêtes quelques secondes après leur exécution.
  • En tant que service sans serveur, vous ne payez pas de frais de service Athena. La facturation se fait uniquement pour les requêtes exécutées. Même en cas d’annulation d’une requête, seuls les données traitées seront facturées, et non la requête dans son ensemble.
  • Athena s’intègre facilement avec d’autres services AWS. L’intégration la plus pertinente est celle avec AWS Glue. AWS Glue est un service ETL, utile pour transformer les données en un format plus efficace et plus lisible, que l’on peut ensuite analyser avec AWS Athena.
  • Athena permet d’exécuter plusieurs requêtes simultanément.

Limitations d’AWS Athena

  • Taille de ligne : la taille d’une ligne dans une table virtuelle AWS Athena ne doit pas excéder 32 mégaoctets. Cette limite peut être augmentée à 100 mégaoctets pour certains cas spécifiques de fichiers CSV et JSON. Cependant, il est fortement recommandé de respecter la limite de 32 Mo afin d’éviter les erreurs.
  • Fichiers masqués : Les fichiers dont le nom commence par un underscore (_) ou un point (.) sont considérés comme masqués par Athena. Cela peut être utilisé pour éviter de traiter certains fichiers.
  • Athena ne peut pas traiter les données stockées dans S3 Glacier ou S3 Glacier Deep Archive. Ces classes de stockage sont dédiées à l’archivage de données et requièrent un temps de restauration allant de quelques minutes à plusieurs heures, ce qui justifie pourquoi Athena ne peut pas récupérer des données depuis ces classes.
  • Athena ne prend pas en charge les procédures stockées.
  • La version 1 d’Athena ne gère pas les requêtes paramétrées. Cette fonctionnalité est disponible avec Athena version 2.
  • Les instructions telles que MERGE, UPDATE, CREATE TABLE LIKE, DESCRIBE INPUT et DESCRIBE OUTPUT ne sont pas prises en charge.

Conclusion

Cet article a détaillé le service d’analyse de données AWS Athena, en abordant ses fonctionnalités, ses avantages et ses limitations. Athena est un outil puissant pour le traitement et l’analyse des données stockées dans les compartiments S3. Les limites du service sont relativement simples et contournables, si nécessaire.

Vous pouvez également consulter les bonnes pratiques pour sécuriser votre stockage AWS S3.

Avez-vous apprécié la lecture de cet article ? N’hésitez pas à le partager avec votre entourage !