Amazon Athena
Consulta con SQL los datos que ya están en S3, sin servidores, sin cargas previas y pagando por consulta.
En palabras simples
Es poder hacerle preguntas en voz alta a una bodega llena de cajas sin tener que sacarlas ni ordenarlas antes: preguntas, y alguien va, mira y responde.
Cuándo aplicarlo
Cuando hay datos en S3 —registros, exportaciones, CSV, Parquet— y hace falta consultarlos de vez en cuando sin montar ni mantener una base de datos.
- ▸Analizar los registros de acceso de CloudFront o de un balanceador
- ▸Explorar un conjunto de datos abierto antes de decidir qué hacer con él
- ▸Consultar el informe detallado de facturación de AWS
- ▸Dar acceso analítico a un lago de datos sin aprovisionar un clúster
Vocabulario mínimo
- Catálogo de datos
- El esquema —tablas, columnas, tipos— que define cómo interpretar los archivos de S3. Lo aporta AWS Glue.
- Partición
- La división de los datos por carpetas, normalmente por fecha. Es lo que evita escanear todo el bucket.
- Formato columnar
- Parquet u ORC: guardan por columnas, se comprimen mejor y reducen enormemente lo que se escanea.
- Grupo de trabajo
- La agrupación que separa equipos y permite fijar un límite de datos escaneados por consulta.
Costo y capa gratuita
- Cómo se cobra
- Por terabyte de datos escaneados. Si la consulta lee menos datos, cuesta menos: el precio depende del formato y de las particiones, no del tiempo de ejecución.
- Capa gratuita
- No hay capa gratuita, pero el costo por consulta sobre conjuntos pequeños es de centavos.
Cuidado con los créditos
- ⚠Un `SELECT *` sobre datos en CSV escanea todo el archivo; el mismo dato en Parquet puede costar una fracción.
- ⚠Datos sin particionar obligan a escanear todo el histórico para consultar un solo día.
- ⚠No fijar un límite de escaneo en el grupo de trabajo: una consulta mal escrita puede leer terabytes.
Descripción
La ruta tradicional para analizar datos era pesada: montar una base, definir el esquema, cargar los datos y recién entonces poder preguntar. Athena invierte el orden. Los datos se quedan donde están, en S3, y el esquema se aplica en el momento de leer.
Eso cambia la economía del análisis. No hay clúster encendido ni proceso de carga; se paga por terabyte escaneado. Una consulta ocasional sobre unos gigabytes cuesta centavos, y si nadie pregunta nada durante un mes, no se paga nada.
Cómo funciona
- Los datos están en S3, idealmente particionados por fecha y en formato Parquet.
- Un rastreador de AWS Glue recorre el bucket y registra el esquema en el catálogo de datos.
- Escribes SQL corriente contra esas tablas, desde la consola, la CLI o un cliente JDBC.
- Athena reparte la lectura, escanea solo las particiones y columnas necesarias, y devuelve el resultado a S3.
- El costo de la consulta lo determina cuántos bytes hubo que leer.
Manos a la obra
- Activa los registros de acceso de un bucket o de una distribución de CloudFront y espera unas horas.
- Crea una tabla sobre esa carpeta y ejecuta una consulta que cuente las peticiones por día.
- Fíjate en el dato que muestra la consola: cuántos datos escaneó y cuánto costó.
- Convierte una copia del conjunto a Parquet particionado y repite la misma consulta.
- Compara los dos escaneos: la diferencia suele ser de un orden de magnitud.
Ejemplo visual
La lección que más rinde con Athena es de formato: el mismo análisis puede costar diez veces menos solo por guardar los datos en Parquet y particionarlos por fecha.
Cuándo NO es la mejor opción
- Amazon Redshift — si las consultas son constantes y muchas, un almacén dedicado sale más barato y más rápido.
- Amazon EMR — si el procesamiento necesita código en Spark y no se puede expresar en SQL.
- Amazon OpenSearch Service — si lo que se busca es explorar registros de forma interactiva y en texto libre.
Se usa junto con
Aparece en certificaciones
- AWS Certified Solutions Architect – Associate
- AWS Certified Data Engineer – Associate
- AWS Certified Data Analytics – Specialty