AWS Athena: tudo o que você precisa saber

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. Ele oferece uma infinidade de serviços para armazenamento em nuvem e necessidades computacionais. AWS S3 é um dos serviços mais populares no Plataforma AWS . Ele oferece durabilidade e disponibilidade de dados incomparáveis, além de ser uma das opções de armazenamento mais baratas na nuvem.

Dada a sua multiplicidade de recursos e armazenamento teoricamente infinito, é possível que você tenha terabytes ou petabytes de dados em baldes S3. Analisar esses dados é quase impossível se abrirmos todos os arquivos e lermos petabytes de dados manualmente. É aqui que entra o serviço AWS Athena.

Em palavras simples, AWS Athena é usado como um serviço de análise de dados simplesmente acessando os dados disponíveis no bucket S3 usando consultas SQL. Portanto, se você entender até mesmo o básico do 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 depósitos como o depósito de log de acesso para todos os balanceadores que você possui 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 depósitos, define o esquema de seus dados e começa a usar as consultas SQL em seu depósito.
  • 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 entregar 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-beneficio: 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 que executa no Serviço Athena.
  • Durabilidade e disponibilidade dos dados: Como o Athena depende dos dados em seus buckets S3, você pode ter certeza de que os dados estão altamente disponíveis e duráveis.
  • Apoio, suporte: Athena oferece suporte a 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.
  • Atena Back-end: Athena usa o código aberto Presto como back-end. Presto é um mecanismo SQL distribuído para consultar e analisar grandes cargas de trabalho de dados.

Definição de preço e otimização do AWS Athena

Ao usar o AWS Athena, será cobrada uma taxa de 5 por terabyte verificado 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 , você 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 serem executadas.
  • Transformação de dados: Se quiser otimizar ainda mais suas consultas, você 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: Juntar tabelas é um recurso muito importante do SQL. Embora possa parecer uma operação simples, pode ser uma operação muito complexa. Recomenda-se manter as tabelas maiores à esquerda e as 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 AWS S3. Tanto o Redshift Spectrum quanto o Athena são sem servidor, podem executar consultas complexas no S3 e custam 5% por Terrabyte de dados processados, então qual é a diferença?

Desempenho

O AWS Athena usa recursos computacionais de um pool de recursos fornecidos pela AWS. Em contraste, o espectro do Redshift usa os recursos alocados de acordo com o tamanho do cluster do 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 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 Glue Data Catalog 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 esquema Glue Data Catalog.

Essas são as principais diferenças entre os dois serviços, portanto, ao escolher entre o espectro do 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 o seu requisito for apenas extrair dados ou um subconjunto de dados de um objeto 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ê só paga pelas consultas que escolher executar. Mesmo que cancelasse uma consulta, só lhe seriam cobrados os dados tratados e não toda a consulta.
  • O Athena pode ser facilmente integrado a outros serviços da AWS. Uma das integrações mais importantes e valiosas do AWS Athena é com o serviço AWS Glue. AWS Glue é um ETL serviço 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 executar 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 a 32 Megabytes para evitar erros indesejados.
  • Arquivos ocultos: Arquivos com nomes começando com sublinhado (_) ou ponto (.) são tratados como ocultos pelo Athena Service. Isso pode ser usado como um recurso para evitar o processamento de arquivos indesejados.
  • Atena é incapaz de processar dados no S3 Glacier ou 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.
  • Atena não suporta procedimentos armazenados.
  • Atena versão 1 não suporta consultas parametrizadas. Isso é compatível com o Athena versão 2.
  • Instruções como MERGE, UPDATE, CREATE TABLE LIKE, DESCRIBE INPUT e DESCRIBE OUTPUT não são suportados.

Conclusão

Neste artigo, discutimos a ferramenta de análise de dados da AWS, o AWS Athena, seus recursos, vantagens e algumas limitações. Athena é uma das ferramentas mais poderosas para processar e analisar dados em buckets 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 Armazenamento AWS S3 seguro .

Artigos relacionados