Clément Schanen

AnalytiqueService régional

Athena

Permet d’analyser des données stockées dans S3

Définition

  • Service serverless de requêtage SQL
  • Aucune infrastructure à gérer
  • Basé sur Presto / Trino

Cas d’utilisation

  • Analyse de logs (CloudTrail, ALB, VPC Flow Logs…)
  • Exploration de data lake
  • Requêtes ad-hoc pour data analysts / engineers
  • Alternatives simples à Redshift pour des besoins ponctuels

Athena n’est pas adapté pour des requêtes ultra fréquentes à faible latence ou des workloads transactionnels

Fonctionnement

  • Schéma simple S3 (données) Athena (requêtes SQL) Résultats stockés dans S3
  • Athena ne stocke pas les données
  • Les requêtes sont stateless

Concepts

Base de données & tables

  • Database Athena structure logique
  • Les tables décrivent les données dans S3
  • Les données ne bougent pas

Concepts

Schéma “schema-on-read”

  • Le schéma est appliqué au moment de la lecture
  • Contrairement à une DB classique (schema- on-write)

Formats supportés

  • CSV, JSON, TSV
  • Parquet / ORC (fortement recommandé)
  • Avro

Glue DataCatalog

  • Athena s’appuie sur AWS Glue Data Catalog pour :
    • Stocker les métadonnées
    • Définir bases, tables et partitions

Athena ne fonctionne pas sans Glue Data Catalog

Performances

  • Une partition est un filtre logique sur les données (permet de réduire la quantité de données scannées)
  • Le format Parquet / ORC permet la lecture partielle des colonnes et dispose d’une compression intégrée

Coûts

  • Facturation au volume scanné (Attention au format et au partionnement)
  • Environ $5 / TB scanné