Amazon Athena è un servizio di analisi interattivo e serverless basato su framework open source che consente di analizzare petabyte di dati nel luogo in cui risiedono. Con Athena, puoi usare SQL o Apache Spark e non ci sono infrastrutture da configurare o gestire. Le tariffe sono semplici: paghi in base ai dati elaborati o alle risorse di calcolo utilizzate.
Per iniziare, crea un gruppo di lavoro che ti consenta specificare il tuo motore di query, la directory di lavoro in Amazon Simple Storage Service (S3) che conterrà i risultati dell'esecuzione, i ruoli AWS Identity and Access Management (IAM) e i tag di risorse. Puoi utilizzare i gruppi di lavoro per separare utenti, team, applicazioni o carichi di lavoro; impostare limiti sulla quantità di dati che ciascuna query o l'intero gruppo di lavoro è in grado di elaborare e tenere traccia dei costi. A seconda del gruppo di lavoro creato, puoi (a) eseguire query SQL e ricevere l'addebito in base ai dati scansionati o alle risorse di calcolo utilizzate, oppure (b) eseguire il codice Python per Apache Spark e farti addebitare una tariffa oraria per l'esecuzione del codice.
Query SQL
Query SQL con capacità assegnata
Apache Spark
Costi aggiuntivi
Athena esegue le query direttamente sui dati in Amazon S3. Non sono previsti costi aggiuntivi per l'esecuzione delle query con Athena. Saranno però addebitati i costi standard di S3 per archiviazione, richieste e trasferimento di dati. Per impostazione predefinita, i risultati delle query vengono memorizzati in un bucket S3 a scelta; anche per questi file vengono addebitate le tariffe standard di S3.
- I costi di S3 vengono addebitati quando i tuoi carichi di lavoro leggono, archiviano e trasferiscono dati. Ciò include le query riuscite e non riuscite. Per impostazione predefinita, i risultati delle query SQL e i risultati dei calcoli Spark vengono memorizzati in un bucket S3 a scelta e addebitati in base alle tariffe S3 standard. Per maggiori informazioni, consulta Prezzi di Amazon S3.
- Se il catalogo dati AWS Glue viene utilizzato con Athena, saranno addebitate le tariffe standard del catalogo dati. Per saperne di più, visita la pagina dei prezzi di AWS Glue.
- Le query SQL su origini dati federate (dati non memorizzati su S3) vengono addebitate per terabyte (TB) scansionato da Athena aggregato tra le origini dati, arrotondato al megabyte più vicino con un minimo di 10 megabyte per query, a meno che non venga utilizzata la capacità assegnata. Queste query richiamano anche le funzioni AWS Lambda nel tuo account e l'utilizzo di Lambda ti viene addebitato alle tariffe standard. Le funzioni Lambda invocate dalle query federate sono soggette al piano gratuito di Lambda. Per saperne di più, visita la pagina dei prezzi di Lambda.
Esempi di prezzo
Esempio 1: query SQL
Supponiamo di avere una tabella con 4 colonne di dimensioni equivalenti, memorizzata in Amazon S3 come file di testo non compresso delle dimensioni totali di 3 TB. Per eseguire una query su una singola colonna della tabella, Amazon Athena dovrà scansionare l'intero file, perché i formati di testo non possono essere divisi.
- Il costo di questa query sarebbe di 15 USD. (Il prezzo per 3 TB scansionati è di 3 X 5 USD/TB = 15 USD)
Se comprimi il file con GZIP, il rapporto di compressione può essere di 3:1. In questo caso, la scansione sarebbe solo su un file di 1 TB. La stessa query sul file compresso costerebbe 5 USD. Athena scansionerà comunque l'intero file, ma poiché le dimensioni sono tre volte inferiori, sarà addebitato solo un terzo della prima scansione. Se comprimi il file e lo converti in un formato a colonne, ad esempio Apache Parquet, ottieni un'ulteriore compressione con rapporto 3:1, senza modificare lo spazio occupato in S3 (1 TB). In questo caso, però, siccome Parquet adotta un formato a colonne, Athena può leggere solo la colonna interessata dalla query in esecuzione. Nel nostro caso, la query farà riferimento a una sola colonna, però Athena dovrà leggere solo la colonna in questione e potrà ignorare tre quarti del file. Athena scansionerà quindi solo un quarto del file, equivalente a 0,25 TB di dati in S3.
- Il costo di questa query sarebbe di 1,25 USD. La compressione e la lettura di una sola colonna comporta rispettivamente un risparmio di 3 e 4 volte superiore.
(Dimensioni del file = 3 TB /3 = 1 TB. Dati scansionati per una colonna singola = 1 TB /4 = 0,25 TB. Prezzo per 0,25 TB = 0,25 * 5 USD/TB = 1,25 USD)
Esempio 2: query SQL con capacità assegnata
Supponiamo che il tuo team supporti un'applicazione Web che fornisce analisi self-service agli utenti che inviano query durante l'orario di lavoro aspettandosi che vengano completate in un lasso di tempo prevedibile. La settimana scorsa, gli utenti dell'applicazione hanno inviato un totale di 10.000 query che hanno scansionato 500 TB di dati. La capacità assegnata ti consentirebbe di mantenere un'esperienza utente coerente man mano che il numero di utenti aumenta. Dall'analisi delle tue query, stabilisci che 96 DPU sono sufficienti per il tuo carico di lavoro attuale.
- Per un giorno lavorativo, il costo per supportare questo carico di lavoro con la capacità assegnata si calcola come segue: 96 DPU * 0,30 USD per DPU/ora * 12 ore al giorno = 345,60 USD.
Una mattina, scopri che un nuovo gruppo di utenti dell'applicazione ha completato l'onboarding e, di conseguenza, ti aspetti che il volume delle query sia 2 volte superiore rispetto al giorno precedente. Vuoi assicurarti che gli utenti abbiano prestazioni simili a quelle di ieri, ma non ti aspetti che tutti gli utenti inviino le proprie query contemporaneamente. A due ore dall'inizio della giornata, la capacità viene aumentata del 50% fino a 144 DPU.
- Il costo per il carico di lavoro odierno è pari al costo di 96 DPU per 2 ore più 144 DPU per 10 ore o 96 DPU * 0,30 USD per DPU/ora * 2 ore + 144 DPU * 0,30 USD per DPU/ora * 10 ore = 489,60 USD.
Esempio 3: applicazione Apache Spark
Supponiamo di utilizzare un notebook nella console di Athena per estrarre i dati di vendita relativi al trimestre precedente e tracciarli su un grafico per creare un report. Avvii una sessione utilizzando un notebook. La sessione dura 1 ora e prevede la presentazione di 6 calcoli. Ogni calcolo richiede 20 nodi worker da 1-DPU per l'esecuzione e dura 1 minuto.
- DPU/ora worker = numero di calcoli * DPU utilizzate per i calcoli * tempo di esecuzione del calcolo = 6 calcoli * 20 DPU per calcolo * (1/60) ore per calcolo = 2 DPU/ora
- DPU/ora driver = DPU utilizzate per sessione * tempo di sessione = 1 DPU per sessione * 1 ora per sessione = 1 DPU/ora
- Totale DPU/ora = DPU/ora worker + DPU/ora driver = 2 DPU/ora + 1 DPU/ora = 3 DPU/ora
- Costi dell'applicazione Spark = 0,35 USD per DPU/ora * 3 DPU/ora = 1,05 USD
Nota: i costi di S3 per l'archiviazione e la lettura dei dati e per i risultati dell'esecuzione saranno addebitati separatamente.
Risorse aggiuntive sui prezzi
Calcola facilmente le spese mensili con AWS
Contatta gli specialisti AWS per ricevere un preventivo personalizzato
Scopri come iniziare a usare Amazon Athena.
Inizia subito a utilizzare Amazon Athena nella Console di gestione AWS.