AWS Athena: tudo o que você precisa saber

Publicados: 2022-05-02

O AWS Athena é um serviço de consulta flexível e econômico para os dados armazenados no AWS S3.

A AWS é um dos maiores provedores de nuvem do mundo. Oferece uma infinidade de serviços para armazenamento em nuvem e necessidades computacionais. AWS S3 é um dos serviços mais populares na plataforma AWS. Oferece durabilidade e disponibilidade de dados incomparáveis, além de ser uma das opções de armazenamento mais baratas na nuvem.

Dada a multiplicidade de recursos e armazenamento teoricamente infinito, é possível ter terabytes ou petabytes de dados em buckets do S3. Analisar esses dados é quase impossível se abrirmos todos os arquivos e lermos petabytes de dados manualmente. É aí que entra o AWS Athena Service.

Em palavras simples, o AWS Athena é usado como um serviço de análise de dados simplesmente acessando os dados disponíveis no bucket do S3 usando consultas SQL. Portanto, se você entender até o básico de SQL, poderá começar a trabalhar na análise de dados do S3 com o AWS Athena.

Vamos entender isso com um pequeno exemplo. Vamos supor que você tenha configurado um de seus buckets como o bucket de log de acesso para todos os balanceadores que você tem em várias contas em sua organização. Como você consultaria anos de dados de log e obteria informações importantes e significativas desses arquivos de log? A resposta é AWS Athena.

Recursos do AWS Athena

  • Ferramenta baseada em SQL: o AWS Athena é um serviço baseado em SQL muito simples de usar. Você simplesmente aponta o Athena para um de seus buckets, define o esquema de seus dados e começa a usar as consultas SQL em seu bucket.
  • Sem servidor: você não precisa manter uma infraestrutura para executar o AWS Athena. O Athena não tem servidor e é otimizado para usar vários recursos de computação automaticamente de acordo com seus requisitos.
  • Rápido e otimizado: o Athena foi otimizado para usar um número eficiente de recursos para fornecer os resultados de sua consulta o mais rápido possível. Funciona muito bem com análises pequenas e complexas dos dados do S3.
  • Custo-benefício: Athena é um serviço de pagamento conforme o uso. Isso significa que não há custo básico para usar o AWS Athena; você paga apenas pelas consultas executadas no Serviço Athena.
  • Durabilidade e disponibilidade dos dados: como o Athena depende dos dados em seus buckets do S3, você pode ter certeza de que os dados são altamente disponíveis e duráveis.
  • Suporte: Athena suporta vários formatos de arquivo, como JSON, CSV, Avro, ORC e ​​muito mais.
  • Segurança: o Athena utiliza recursos de segurança como IAM, políticas de bucket e ACLs, o que o torna altamente seguro.
  • Athena Backend: Athena usa o Presto de código aberto como backend. Presto é um mecanismo SQL distribuído para consultar e analisar cargas de trabalho de big data.

Preços e otimização do AWS Athena

Ao usar o AWS Athena, será cobrada uma taxa de US$ 5 por terabyte digitalizado ao usar o AWS Athena. Esse preço pode variar um pouco para algumas regiões da AWS.

  • Consultas eficientes : Se você estiver familiarizado com SQL, deve saber que pode haver mais de uma maneira de obter determinados resultados de dados usando SQL. Para otimizar o Athena, você pode usar consultas eficientes que devem levar menos tempo para executar suas consultas.
  • Transformação de dados: se você deseja otimizar ainda mais suas consultas, pode compactar, particionar ou converter seus dados em um conjunto de dados menor, reduzindo ainda mais o tempo de execução da consulta. Ao usar a transformação de dados, você pode otimizar sua consulta em até 90%.
  • Unindo tabelas virtuais: Unir tabelas é um recurso muito importante do SQL. Embora possa parecer uma operação simples, pode ser uma operação muito complexa. Recomenda-se manter tabelas maiores à esquerda e tabelas com menos dados à direita.

Diferença entre AWS Athena e Redshift Spectrum

O Redshift Spectrum é outro serviço que pode ser usado para executar consultas em buckets do AWS S3. Tanto o Redshift Spectrum quanto o Athena não têm servidor, podem executar consultas complexas no S3 e custam 5% por Terrabyte de dados processados, então qual é a diferença?

atuação

O AWS Athena usa recursos computacionais de um pool de recursos fornecidos pela AWS. Em contraste, o espectro Redshift usa os recursos alocados de acordo com o tamanho do cluster Redshift. Isso permite que você tenha mais controle sobre os recursos usados ​​pelo serviço Redshift Spectrum e, se desejar desempenho aprimorado, sempre poderá aumentar o tamanho do seu cluster Redshift.

Carregando os dados para processamento

Ambos os serviços usam tabelas virtuais para executar consultas SQL em seus dados. As Tabelas Virtuais são feitas usando o Catálogo de Dados do Glue para gerenciamento de esquema. O Athena pode usar diretamente os dados do esquema Glue Data Catalog, enquanto ao usar o Redshift Spectrum, você precisará configurar tabelas externas do Glue Data Catalog Schema.

Essas são as principais diferenças entre os dois serviços, portanto, ao escolher entre o espectro Redshift e o Athena. Você deve usar o Redshift Spectrum se quiser consultar dados no S3 junto com os dados armazenados no data warehouse do Redshift ou se estiver disposto a pagar custos mais altos para melhorar o desempenho da consulta no S3. O Athena pode ser útil quando todos os seus dados estão apenas nos buckets do S3.

Diferença entre AWS Athena e S3 Select

O S3 select é outro serviço sem servidor da AWS para consultar dados no S3 usando SQL. No entanto, a principal diferença entre o S3 Select e o Athena é que você só pode usar as consultas SQL SELECT ao usar o S3 Select, enquanto o Athena pode ser usado para todos os tipos de consultas SQL. Outra limitação do S3 select é que você só pode executar a operação SELECT em um objeto por vez.

Portanto, se seu requisito for apenas extrair dados ou um subconjunto de dados de um objeto do S3, você deve usar o S3 Select. Para consultas e operações complexas como JOIN ou para processar os dados em um bucket S3 inteiro, você deve usar o AWS Athena.

Vantagens de usar o AWS Athena

  • O Athena elimina a necessidade de desenvolver uma ferramenta de análise de dados complexa e cara para seus dados.
  • O Athena não tem servidor, o que o torna um serviço bastante fácil de usar. Não há necessidade de você manter a infraestrutura.
  • A AWS otimizou o Athena para poder recuperar os resultados da consulta segundos após a execução da consulta do Athena.
  • Como o Athena não tem servidor, você não precisa pagar pelo serviço do Athena. Você paga apenas pelas consultas que escolher executar. Mesmo se você cancelar uma consulta, você será cobrado apenas pelos dados processados ​​e não pela consulta inteira.
  • O Athena pode ser facilmente integrado a outros serviços da AWS. Uma das integrações mais importantes e valiosas para o AWS Athena é com o serviço AWS Glue. O AWS Glue é um serviço de ETL que pode ser usado para transformar dados em um formato mais eficiente e legível, que pode ser analisado com o AWS Athena.
  • O Athena permite que você execute várias consultas simultaneamente.

Limitações do AWS Athena

  • Tamanho da linha: o tamanho da linha em uma tabela virtual do AWS Athena não deve exceder 32 Megabytes. Esse limite pode ser aumentado em casos muito limitados para arquivos CSV e JSON para até 100 Megabytes, mas é altamente recomendável limitar o tamanho da linha para 32 Megabytes para evitar erros indesejados.
  • Arquivos ocultos: Arquivos com nomes que começam com sublinhado (_) ou ponto (.) são tratados como ocultos pelo Serviço Athena. Isso pode ser usado como um recurso para evitar o processamento de arquivos indesejados.
  • O Athena não consegue processar dados no S3 Glacier ou no S3 Glacier Deep Archive. Essas classes de armazenamento são apenas para opções de arquivamento de dados e têm um tempo de recuperação de minutos a horas, portanto, entende-se que o AWS Athena não pode recuperar dados dessas classes.
  • O Athena não oferece suporte a procedimentos armazenados .
  • Athena versão 1 não oferece suporte a consultas parametrizadas . Isso é suportado na versão 2 do Athena.
  • Instruções como MERGE, UPDATE, CREATE TABLE LIKE, DESCRIBE INPUT e DESCRIBE OUTPUT não são suportadas.

Conclusão

Neste artigo, discutimos a ferramenta de análise de dados da AWS, o AWS Athena, seus recursos, vantagens e algumas limitações. O Athena é uma das ferramentas mais poderosas para processar e analisar dados em buckets do S3. Mesmo as limitações do serviço são bastante simples e podem ser contornadas, se necessário.

Você também pode consultar algumas práticas recomendadas para proteger o armazenamento do AWS S3.