Amazon Athena

Servicio de análisis serverless que permite ejecutar consultas SQL estándar sobre datos en S3, realizando análisis de datos a escala de petabytes con pago por uso sin gestión de infraestructura

Descripción general

Amazon Athena es un servicio de consultas interactivas serverless que permite ejecutar SQL estándar (basado en Trino/Presto) sobre datos almacenados en S3. No requiere aprovisionamiento de bases de datos ni clústeres; basta con definir un esquema sobre los datos en S3 para ejecutar consultas. Soporta diversos formatos de datos como CSV, JSON, Parquet, ORC y Avro, e integra con Glue Data Catalog para la gestión de esquemas. La tarificación se basa en el volumen de datos escaneados con pago por uso, a 5 USD por TB. Usando formatos columnares como Parquet u ORC, se escanean solo las columnas necesarias, reduciendo significativamente los costos.

Mecanismo de análisis serverless

Athena aprovisiona automáticamente los recursos de computación necesarios cada vez que se ejecuta una consulta, liberándolos tras su finalización. A diferencia de Redshift, que requiere un clúster en ejecución permanente, el costo es cero durante los períodos sin consultas. El motor de ejecución de consultas está basado en Trino (anteriormente Presto), escaneando grandes conjuntos de datos a alta velocidad mediante procesamiento distribuido. Para maximizar el rendimiento de Athena, el formato de almacenamiento de datos es crucial. CSV y JSON son formatos orientados a filas que requieren escanear el archivo completo incluso para obtener solo columnas específicas. Parquet y ORC son formatos columnares que leen solo las columnas necesarias, reduciendo drásticamente el volumen de escaneo. Además, al particionar los datos (estructura de directorios año/mes/día), solo se escanean las particiones que coinciden con las condiciones del WHERE, mejorando tanto el costo como el rendimiento.

Análisis de registros CloudTrail y VPC Flow Logs

El caso de uso más común de Athena es el análisis de registros de AWS. Al enviar los registros de CloudTrail a S3 y consultarlos con Athena, se puede extraer fácilmente con SQL el historial de llamadas API de un usuario específico, patrones de acceso a recursos específicos o listas de llamadas API con errores. Los VPC Flow Logs también pueden enviarse a S3 y analizarse con Athena, permitiendo identificar patrones de comunicación desde direcciones IP específicas, listar tráfico denegado o identificar destinos con alto volumen de transferencia de datos. Los registros de acceso de ALB, S3 y CloudFront también pueden analizarse con Athena. Para estos análisis de registros, convertir previamente a formato Parquet y particionar puede reducir los costos de consulta en más del 90%.

Patrones de uso práctico

Athena es ideal para análisis ad-hoc sobre data lakes. Se agregan datos de diversas fuentes (registros de aplicaciones, datos IoT, datos de negocio) en S3 como data lake y se analizan transversalmente con Athena. El pipeline estándar consiste en transformar datos a formato Parquet con trabajos ETL de Glue, gestionar esquemas con Glue Data Catalog y consultar con Athena. Integrando con QuickSight, los resultados de consultas de Athena pueden visualizarse como dashboards. El servicio equivalente en Azure es el pool SQL serverless de Azure Synapse Analytics, que permite ejecutar SQL sobre datos en Azure Blob Storage de forma similar. Desde los fundamentos hasta aplicaciones avanzadas de Athena, se puede aprender sistemáticamente con libros (Amazon).

共有するXB!