AWS Athena es un servicio de consulta flexible y rentable para los datos almacenados en AWS S3.

AWS es uno de los mayores proveedores de nube del mundo. Ofrece una multitud de servicios para almacenamiento en la nube y necesidades computacionales. AWS S3 es uno de los servicios más populares en el Plataforma AWS. Ofrece una durabilidad y disponibilidad de datos sin igual, además de ser una de las opciones de almacenamiento más económicas en la nube.

Dada su multitud de funciones y su almacenamiento teóricamente infinito, es posible que tenga terabytes o petabytes de datos en depósitos S3. Analizar tales datos es casi imposible si abriéramos todos y cada uno de los archivos y leyéramos petabytes de datos manualmente. Aquí es donde entra en juego el servicio AWS Athena.

En palabras simples, Atenea de AWS se utiliza como un servicio de análisis de datos simplemente accediendo a los datos disponibles en el depósito S3 mediante consultas SQL. Entonces, si comprende incluso los conceptos básicos de SQL, puede comenzar a trabajar en el análisis de datos S3 con AWS Athena.

Entendamos esto con un breve ejemplo. Supongamos que ha configurado uno de sus cubos como cubo de registro de acceso para todos los balanceadores que tiene en varias cuentas de su organización. ¿Cómo consultaría años de datos de registro y obtendría información importante y significativa de estos archivos de registro? La respuesta es AWS Athena.

Video de Youtube

Features of AWS Athena

  • Herramienta basada en SQL: AWS Athena es un servicio basado en SQL muy fácil de usar. Simplemente dirija a Athena a uno de sus cubos, defina el esquema de sus datos y luego comience a usar las consultas SQL en su cubo.
  • Sin servidor: No tiene que mantener una infraestructura para ejecutar AWS Athena. Athena no tiene servidor y está optimizado para usar múltiples recursos informáticos automáticamente según sus requisitos.
  • Rápido y optimizado: Athena se ha optimizado para usar una cantidad eficiente de recursos para entregar los resultados de su consulta lo antes posible. Funciona muy bien con análisis pequeños y complejos de los datos de S3.
  • Económico: Athena es un servicio de pago por uso. Esto significa que no hay un costo base por usar AWS Athena; solo paga por las consultas que ejecuta en el Servicio Athena.
  • Durabilidad y Disponibilidad de los datos: Dado que Athena se basa en los datos de sus depósitos S3, puede estar seguro de que los datos están altamente disponibles y son duraderos.
  • Soporte: Athena admite varios formatos de archivo, como JSON, CSV, Avro, ORC y más.
  • Seguridad: Athena utiliza funciones de seguridad como IAM, políticas de depósito y ACL, que lo hacen altamente seguro.
  • Back-end de Atenea: Athena utiliza el código abierto presto como back-end. Presto es un motor SQL distribuido para consultar y analizar grandes cargas de trabajo de datos. 

Pricing and optimization of AWS Athena

Al usar AWS Athena, se le cobrará una tarifa de 5 $ por terabyte escaneado al usar AWS Athena. Este precio puede variar ligeramente para algunas de las regiones de AWS.

  • Consultas eficientes: Si está familiarizado con SQL, debe saber que puede haber más de una forma de obtener ciertos resultados de los datos usando SQL. Para optimizar Athena, puede usar consultas eficientes que deberían tomar menos tiempo para ejecutar sus consultas.
  • Transformación de datos: Si desea optimizar aún más sus consultas, puede comprimir, particionar o convertir sus datos en un conjunto de datos más pequeño, reduciendo aún más el tiempo de ejecución de su consulta. Al utilizar la transformación de datos, puede optimizar su consulta hasta en un 90 %.
  • Unirse a mesas virtuales: Unir tablas es una característica muy importante de SQL. Si bien puede parecer una operación simple, puede ser una operación muy compleja. Se recomienda mantener las tablas más grandes a la izquierda y las tablas con menos datos a la derecha.
Video de Youtube

Difference between AWS Athena and Redshift Spectrum

Redshift Spectrum es otro servicio que se puede utilizar para ejecutar consultas en depósitos de AWS S3. Tanto Redshift Spectrum como Athena no tienen servidor, pueden ejecutar consultas complejas en S3 y tienen un precio del 5 % por terrabyte de datos procesados, entonces, ¿cuál es la diferencia?

Rendimiento

AWS Athena utiliza recursos informáticos de un conjunto de recursos proporcionados por AWS. Por el contrario, el espectro Redshift utiliza los recursos asignados según el tamaño del clúster Redshift. Esto le permite tener más control sobre los recursos que utiliza el servicio Redshift Spectrum y, si desea mejorar el rendimiento, siempre puede aumentar el tamaño de su clúster de Redshift.

Cargar los datos para su procesamiento

Ambos servicios usan tablas virtuales para ejecutar consultas SQL en sus datos. Las tablas virtuales se crean utilizando el catálogo de datos de Glue para la gestión de esquemas. Athena puede usar directamente los datos del esquema del catálogo de datos de Glue, mientras que al usar Redshift Spectrum, deberá configurar tablas externas del esquema del catálogo de datos de Glue.

Estas son las principales diferencias entre los dos servicios, así que al elegir entre el espectro Redshift y Athena. Debe usar Redshift Spectrum si desea consultar datos en S3 junto con los datos almacenados en el almacén de datos de Redshift o si está dispuesto a pagar costos más altos para mejorar el rendimiento de sus consultas en S3. Athena puede ser útil cuando todos sus datos están solo en los depósitos S3.

Difference between AWS Athena and S3 Select

S3 select es otro servicio sin servidor de AWS para consultar datos en S3 usando SQL. Sin embargo, la principal diferencia entre S3 Select y Athena es que solo puede usar las consultas SQL SELECT cuando usa S3 Select, mientras que Athena se puede usar para todo tipo de consultas SQL. Otra limitación de S3 select es que solo puede realizar la operación SELECT en un objeto a la vez.

Por lo tanto, si su requisito es solo extraer datos o un subconjunto de datos de un objeto S3, debe usar S3 Select. Para consultas y operaciones complejas como JOIN o para procesar los datos en un depósito S3 completo, debe usar AWS Athena.

Advantages of using AWS Athena

  • Athena elimina la necesidad de desarrollar una herramienta de análisis de datos compleja y costosa para sus datos.
  • Athena no tiene servidor, lo que lo convierte en un servicio bastante fácil de usar. No es necesario que usted mantenga la infraestructura.
  • AWS ha optimizado Athena para poder recuperar los resultados de la consulta segundos después de ejecutar la consulta de Athena.
  • Dado que Athena no tiene servidor, no tiene que pagar por el servicio de Athena. Solo paga por las consultas que elige ejecutar. Incluso si cancelara una consulta, solo se le cobraría por los datos procesados ​​y no por la consulta completa.
  • Athena se puede integrar fácilmente con otros servicios de AWS. Una de las integraciones más importantes y valiosas para AWS Athena es con el servicio AWS Glue. AWS Glue es un ETL servicio que se puede utilizar para transformar los datos en una forma más eficiente y legible, que luego se puede analizar con AWS Athena.
  • Athena le permite ejecutar múltiples consultas simultáneamente.

Limitations of AWS Athena

  • Tamaño de fila: El tamaño de fila en una tabla virtual de AWS Athena no debe exceder 32 Megabytes. Este límite se puede aumentar en casos muy limitados para archivos CSV y JSON hasta 100 Megabytes, pero se recomienda encarecidamente limitar el tamaño de fila a 32 Megabytes para evitar errores no deseados.
  • Archivos ocultos: Los archivos con nombres que comienzan con un guión bajo (_) o un punto (.) son tratados como ocultos por el Servicio de Athena. Esto se puede utilizar como una función para evitar el procesamiento de archivos no deseados.
  • Atenea es no se pueden procesar datos en S3 Glacier o S3 Glacier Deep Archive. Estas clases de almacenamiento son solo para opciones de archivo de datos y tienen un tiempo de recuperación de minutos a horas, por lo que se entiende si AWS Athena no puede recuperar datos de estas clases.
  • Atenas no admite procedimientos almacenados.
  • Atenas versión 1 no admite consultas parametrizadas. Esto es compatible con la versión 2 de Athena.
  • Declaraciones como MERGE, UPDATE, CREATE TABLE LIKE, DESCRIBE INPUT y DESCRIBE OUTPUT no son compatibles.

Conclusión

En este artículo, hemos discutido la herramienta de análisis de datos de AWS, AWS Athena, sus características, ventajas y algunas limitaciones. Athena es una de las herramientas más poderosas para procesar y analizar datos en depósitos S3. Incluso las limitaciones del servicio son bastante simples y se pueden solucionar si es necesario.

También puede ver algunas de las mejores prácticas para almacenamiento seguro de AWS S3.