Saltar al contenido
← Catálogo
AnalíticaIntermedio

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

  1. Los datos están en S3, idealmente particionados por fecha y en formato Parquet.
  2. Un rastreador de AWS Glue recorre el bucket y registra el esquema en el catálogo de datos.
  3. Escribes SQL corriente contra esas tablas, desde la consola, la CLI o un cliente JDBC.
  4. Athena reparte la lectura, escanea solo las particiones y columnas necesarias, y devuelve el resultado a S3.
  5. 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

SQL directamente sobre el bucketrastreaesquemaresultadoAmazon S3registrosAWS GluecatálogoAmazon Athenaconsulta SQLAnalista
SQL directamente sobre el bucketLos registros de acceso se acumulan en Amazon S3, organizados en carpetas por fecha. Un rastreador de AWS Glue recorre esos archivos y registra su esquema en el catálogo de datos. Desde ahí, Amazon Athena responde consultas SQL leyendo únicamente las particiones y columnas que la consulta necesita, y deja el resultado en S3. Nadie cargó los datos en ninguna base: el esquema se aplica en el momento de leer.

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