O Amazon Athena é um serviço analítico interativo sem servidor criado em estruturas de código aberto que permite analisar petabytes de dados onde eles estiverem. Com o Athena, você pode usar o SQL ou o Apache Spark, e não há infraestrutura para configurar ou gerenciar. A precificação é simples: você paga com base nos dados processados ou na computação usada.
Para começar, você cria um grupo de trabalho que permitirá especificar seu mecanismo de consulta, seu diretório de trabalho no Amazon Simple Storage Service (S3) para armazenar os resultados de sua execução, funções do AWS Identity and Access Management (IAM) (se necessário) e suas tags de recurso. Você pode usar grupos de trabalho para separar usuários, equipes, aplicações ou workloads; definir limites na quantidade de dados que cada consulta ou todo o grupo de trabalho pode processar e acompanhar os custos. Com base no grupo de trabalho criado, você pode (a) executar consultas SQL e se basear nos dados verificados ou na computação usada ou (b) executar o código Apache Spark Python e ser cobrado por hora pela execução do seu código.
Consultas de SQL
Consultas SQL com capacidade provisionada
Apache Spark
Custos adicionais
O Athena consulta dados diretamente do Amazon S3. Não há cobranças adicionais de armazenamento pela consulta de dados no Athena. Você será cobrado de acordo com as taxas padrão de armazenamento, solicitações e transferência de dados do S3. Como padrão, os resultados de consulta são armazenados em um bucket do S3 à sua escolha e também são cobrados conforme as taxas padrão do S3.
- Você é cobrado pelo S3 quando suas workloads leem, armazenam e transferem dados. Isso inclui consultas bem-sucedidas e malsucedidas. Por padrão, os resultados da consulta SQL e do cálculo do Spark são armazenados em um bucket do S3 de sua escolha e cobrados de acordo com as taxas padrão do S3. Para obter mais informações, consulte Preços do Amazon S3.
- Se você usar o Catálogo de Dados do AWS Glue com o Athena, será cobrado pelas taxas padrão do Catálogo de Dados. Para mais detalhes, visite a página de preços do AWS Glue.
- As consultas SQL em fontes de dados federadas (dados não armazenados no S3) são cobradas por terabyte (TB) verificado pelo Athena, agregado em todas as fontes de dados, arredondando para o megabyte mais próximo, com um mínimo de 10 megabytes por consulta, a menos que a capacidade provisionada seja usada. Essas consultas também invocam as funções do AWS Lambda na sua conta, e você paga as taxas padrão pelo uso do Lambda. As funções do Lambda invocadas pelas consultas federadas estão sujeitas ao nível gratuito do Lambda. Visite a página de preços do Lambda para ver os detalhes.
Exemplos de preço
Exemplo 1: consulta SQL
Considere uma tabela com quatro colunas de mesmo tamanho, armazenadas como um arquivo de texto não compactado com um tamanho total de 3 TB no Amazon S3. Executar uma consulta para obter dados de uma única coluna da tabela exige que o Amazon Athena verifique o arquivo inteiro, pois os formatos de texto não podem ser divididos.
- Essa consulta custaria: USD 15. (O preço por 3 TB verificados é 3 * USD 5/TB = USD 15.)
Caso o arquivo seja compactado usando o GZIP, será possível verificar ganhos de compactação na razão 3:1. Neste caso, o arquivo compactado teria um tamanho de 1 TB. A mesma consulta nesse arquivo custaria USD 5. O Athena precisa verificar o arquivo inteiro novamente, mas, como ele tem um tamanho três vezes menor, você paga um terço a menos do que pagou anteriormente. Se você compactar seu arquivo e também o converter para um formato colunar, como o Apache Parquet, ao atingir a compactação 3:1, você ainda obterá 1 TB de dados no S3. Mas, neste caso, como o Parquet é colunar, o Athena só poderá ler a coluna que for relevante para a consulta que está sendo executada. Como a consulta em questão é referente apenas a uma única coluna, o Athena apenas lê essa coluna e pode evitar a leitura de três quartos do arquivo. Como o Athena só lê um quarto do arquivo, ele verifica apenas 0,25 TB de dados do S3.
- Essa consulta custaria: USD 1,25. Há uma economia três vezes maior na compactação e quatro vezes maior para a leitura de uma única coluna.
(Tamanho do arquivo = 3 TB/3 = 1 TB. Os dados verificados durante a leitura de uma única coluna = 1 TB/4 = 0,25 TB. Preço de 0,25 TB = 0,25 * USD 5/TB = USD 1,25)
Exemplo 2: consultas SQL com capacidade provisionada
Imagine que sua equipe ofereça suporte a um aplicativo web que forneça análises de autoatendimento para usuários que enviam consultas durante o horário comercial e esperam que suas consultas sejam concluídas em um tempo previsível. Na semana passada, os usuários do aplicativo enviaram um total de 10.000 consultas, que verificaram 500 TB de dados. Você quer usar a capacidade provisionada para manter uma experiência de usuário consistente à medida que o número de usuários cresce. A partir da análise de suas consultas, você determina que 96 DPU são suficientes para sua workload atual.
- Durante um dia útil, o custo de suporte dessa workload com capacidade provisionada é calculado como 96 DPU * USD 0,30 por hora de DPU * 12 horas por dia = USD 345,60.
Um dia, você descobre que um novo conjunto de usuários do aplicativo concluiu a integração e, como resultado, é esperado que o volume de consultas seja o dobro do dia anterior. Você pretende garantir que os usuários tenham um desempenho semelhante ao de ontem, mas não espera que todos os usuários enviem consultas ao mesmo tempo. Duas horas após o início do dia, você aumenta a capacidade em 50%, para 144 DPU.
- O custo da workload atual é igual ao custo de 96 DPU por 2 horas, mais 144 DPU por 10 horas, ou 96 DPU * USD 0,30 por hora de DPU * 2 horas + 144 DPU * USD 0,30 por hora de DPU * 10 horas = USD 489,60.
Exemplo 3: aplicação do Apache Spark
Considere o uso de um bloco de anotações no console do Athena para obter os números de vendas do trimestre anterior e representá-los graficamente para criar um relatório. Você inicia uma sessão usando um bloco de anotações. Sua sessão dura um hora e envia seis cálculos como parte da sessão. Cada cálculo leva 20 nós de processamento de 1 DPU para executar e dura um minuto.
- Horas de DPU de processamento = número de cálculos * DPUs usadas por cálculos * tempo de execução do cálculo = 6 cálculos * 20 DPUs por cálculo * (1/60) horas por cálculo = 2 horas de DPU
- Horas de DPU de driver = DPUs usadas por sessão * tempo de sessão = 1 DPU por sessão * 1 hora por sessão = 1 hora de DPU
- Total de horas de DPU = horas de DPU de processamento + horas de DPU de driver = 2 horas de DPU + 1 hora de DPU = 3 horas de DPU
- Cobranças da aplicação do Spark = USD 0,35 por hora de DPU * 3 horas de DPU = USD 1,05
Observação: o S3 cobrará separadamente para armazenar e ler seus dados e os resultados de sua execução.
Recursos adicionais de preço
Calcule facilmente os custos mensais na AWS
Entre em contato com os especialistas da AWS para obter um orçamento personalizado
Comece a criar com o Amazon Athena no Console de Gerenciamento da AWS.
Explore as opções de suporte do Amazon Athena.