Amazon Athena est un service d'analyse interactif sans serveur basé sur des cadres open source qui vous permet d'analyser des pétaoctets de données là où elles se trouvent. Avec Athena, vous pouvez utiliser SQL ou Apache Spark sans aucune infrastructure à configurer ou à gérer. La tarification est simple : vous payez en fonction des données traitées ou du calcul utilisé.
Pour commencer, vous créez un groupe de travail qui vous permettra de spécifier votre moteur de requête, votre répertoire de travail dans Amazon Simple Storage Service (S3) pour contenir les résultats de votre exécution, les rôles de gestion des identités et des accès AWS (AWS IAM) (si nécessaire), et vos étiquettes de ressources. Vous pouvez utiliser les groupes de travail pour séparer les utilisateurs, les équipes, les applications ou les charges de travail ; fixer des limites sur la quantité de données que chaque requête ou l'ensemble du groupe de travail peut traiter ; et suivre les coûts. En fonction du groupe de travail que vous créez, vous pouvez soit (a) exécuter des requêtes SQL et être facturé pour le nombre d'octets analysés, soit (b) exécuter du code Apache Spark Python et être facturé à l'heure pour l'exécution de votre code.
Requêtes SQL
Requêtes SQL avec capacité provisionnée
Apache Spark
Coûts supplémentaires
Athena lance des requêtes de données directement depuis Amazon S3. Les requêtes de données avec Athena n'entraînent aucuns frais de stockage supplémentaires. Le stockage, les requêtes et le transfert de données sont facturés selon les tarifs Amazon S3 standard. Par défaut, les résultats de requêtes sont stockés dans le compartiment S3 de votre choix et sont également facturés selon les tarifs S3 standard.
- Vous êtes facturé par S3 lorsque vos charges de travail lisent, stockent et transfèrent des données. Cela inclut les requêtes réussies et infructueuses. Par défaut, les résultats des requêtes SQL et les résultats des calculs de Spark sont stockés dans un compartiment S3 de votre choix et facturés aux tarifs S3 standard. Consultez la Tarification Amazon S3 pour en savoir plus.
- Si vous utilisez le catalogue de données AWS Glue avec Athena, le tarif standard du catalogue de données s'applique. Pour plus d'informations, consultez la page de tarification d'AWS Glue.
- Les requêtes SQL sur des sources de données fédérées (données non stockées sur S3) sont facturées par téraoctet (To) scanné par Athena agrégé entre les sources de données, puis arrondies au mégaoctet le plus proche avec un minimum de 10 mégaoctets par requête, sauf si la capacité provisionnée est utilisée. Les requêtes fédérées appellent les fonctions AWS Lambda de votre compte, et vous êtes alors facturé au tarif standard pour l'utilisation de Lambda. Les fonctions Lambda appelées par les requêtes fédérées sont soumises à l'offre gratuite de Lambda. Consultez la page de tarification Lambdapour plus d'informations.
Exemples de tarification
Exemple 1 – requête SQL
Imaginons une table contenant 4 colonnes de même taille, stockée dans un fichier texte non compressé et d'une taille totale de 3 To sur Amazon S3. Pour exécuter une requête afin d'obtenir des données auprès d'une colonne de la table, Amazon Athena doit analyser la totalité du fichier, car les formats texte ne peuvent pas être divisés.
- Cette requête reviendrait à 15 USD. (Prix de l'analyse de 3 To : 3 * 5 USD/To = 15 USD.)
Si vous compressez le fichier au format GZIP, vous pourriez constater des gains de compression de 3:1. Dans ce cas, vous obtiendrez un fichier compressé de 1 To. L'exécution de la même requête sur ce fichier reviendrait alors à 5 USD. Athena doit à nouveau analyser la totalité du fichier, mais étant donné que ce dernier est trois fois plus petit, vous payez un tiers du prix précédent. Si vous compressez le fichier et le convertissez également dans un format en colonnes tel qu'Apache Parquet (compression de 3:1), vous obtiendrez au final 1 To de données sur S3. Cependant, dans ce cas, étant donné que Parquet est un format en colonnes, Athena ne peut lire que la colonne concernée par la requête. Puisque la requête en question ne référence qu'une seule colonne, Athena ne lit que cette colonne et cela lui évite ainsi de lire les trois quarts du fichier. Dans la mesure où Athena ne lit qu'un quart du fichier, le service analyse seulement 0,25 To de données depuis S3.
- Cette requête reviendrait à 1,25 USD. La compression permet de réaliser trois fois plus d’économies, tandis que la lecture d'une seule colonne, permet de réaliser quatre fois plus d'économies.
(Taille du fichier = 3 To/3 = 1 To. Volume de données analysées lors de la lecture d'une seule colonne = 1 To/4 = 0,25 To. Prix de l'analyse de 0,25 To : 0,25 * 5 USD/To = 1,25 USD)
Exemple 2 — Requêtes SQL avec capacité provisionnée
Supposons que votre équipe prenne en charge une application Web qui fournit des analyses en libre-service aux utilisateurs qui soumettent des requêtes pendant les heures ouvrables et s'attendent à ce que leurs requêtes soient traitées dans un délai prévisible. La semaine dernière, les utilisateurs de l'application ont soumis un total de 10 000 requêtes qui ont permis d'analyser 500 To de données. Vous souhaitez utiliser la capacité provisionnée pour vous aider à maintenir une expérience utilisateur cohérente à mesure que le nombre d'utilisateurs augmente. À partir de l'analyse de vos requêtes, vous déterminez que 96 DPU sont suffisants pour votre charge de travail actuelle.
- Pour un jour ouvrable, le coût de la prise en charge de cette charge de travail avec la capacité provisionnée est calculé comme suit : 96 DPU* 0,30 USD par heure DPU* 12 heures par jour = 345,60 USD.
Un matin, vous apprenez qu'un nouvel ensemble d'utilisateurs de l'application a terminé l'intégration et, par conséquent, vous vous attendez à ce que le volume de requêtes soit 2 fois plus élevé qu'il ne l'était la veille. Vous voulez vous assurer que les utilisateurs ont des performances similaires à celles d'hier, mais ne vous attendez pas à ce que tous les utilisateurs soumettent des requêtes en même temps. Deux heures après le début de la journée, vous augmentez la capacité de 50 % pour atteindre 144 DPU.
- Le coût de la charge de travail actuelle est égal au coût de 96 DPU pendant 2 heures plus 144 DPU pendant 10 heures, ou 96 DPU* 0,30 USD par heure DPU* 2 heures + 144 DPU* 0,30 USD par heure DPU* 10 heures = 489,60 USD.
Exemple 3 – Application Apache Spark
Envisagez d'utiliser un bloc-notes dans la console Athena pour extraire les chiffres de vente du trimestre précédent et les représenter graphiquement pour créer un rapport. Vous commencez une session en utilisant un bloc-notes. Votre session dure 1 heure et vous soumettez 6 calculs dans le cadre de la session. Chaque calcul nécessite 20 composant master 1-DPU et dure une minute.
- Heures-UPD du travailleur = Nombre de calculs * UPD utilisées par calculs * temps d'exécution du calcul = 6 calculs * 20 UPD par calcul * (1/60) heures par calcul = 2,0 heures-UPD
- Heures-UPD du pilote = DPUs utilisés par session * temps de session = 1 DPUs par session * 1 heure par session = 1.0 DPU-heures
- Total des UDP-heures = UDP-heures du travailleur + UDP-heures du pilote= 2,0 UDP-heures + 1,0 UDP-heures = 3,0 UDP-heures
- Frais d'application Spark = 0,35 USD par heure DPU * 3,0 heures DPU = 1,05 USD.
Remarque : S3 vous facturera séparément le stockage et la lecture de vos données et des résultats de votre exécution.
Ressources de tarification supplémentaires
Calculer facilement vos coûts mensuels avec AWS
Contacter les spécialistes AWS pour obtenir un devis personnalisé
Commencez à créer avec Amazon Athena dans Console de gestion AWS.