← Volver al catálogo

Amazon Redshift

En una frase: Almacén de datos columnar para consultas analíticas de petabytes con SQL
Certificaciones: SAA-C03 SAP-C02 AIF-C01 CLF-C02
Documentación oficial: Documentación de Amazon Redshift ↗

Qué es

Amazon Redshift es un almacén de datos (data warehouse): una base de datos pensada para analizar grandes volúmenes de datos con SQL (Structured Query Language: lenguaje de consultas de bases de datos relacionales), no para las transacciones del día a día. Guarda los datos por columnas y reparte cada consulta entre muchos nodos que trabajan en paralelo (MPP), así que agregaciones sobre miles de millones de filas tardan segundos. Es la base típica de los informes y cuadros de mando de BI (Business Intelligence).

Conceptos clave

  • Aprovisionado o sin servidores: en un clúster aprovisionado eliges tipo y número de nodos (los RA3 separan cómputo y almacenamiento gestionado en S3 (Simple Storage Service)); en Redshift Serverless la capacidad (en RPU (Redshift Processing Unit: unidad de capacidad de Redshift Serverless)) se ajusta sola y pagas por uso.
  • Almacenamiento columnar y compresión: se leen solo las columnas que usa la consulta, lo que reduce la E/S.
  • Claves de distribución y ordenación: cómo se reparten las filas entre nodos y cómo se ordenan en disco; bien elegidas evitan mover datos entre nodos en los JOIN.
  • Carga de datos: el comando COPY desde S3 (en paralelo, mucho más rápido que INSERT), la ingesta en streaming desde Kinesis o MSK (Managed Streaming for Apache Kafka), y las integraciones zero-ETL que replican automáticamente datos de Aurora, RDS (Relational Database Service) o DynamoDB.
  • Redshift Spectrum: consulta con SQL datos que siguen en S3 (lago de datos) sin cargarlos, y los combina con las tablas del almacén.
  • Consultas federadas: leer en vivo de bases de datos RDS o Aurora.
  • Data sharing: compartir datos en vivo entre clústeres o cuentas sin copiarlos.
  • Concurrency scaling: añade capacidad temporal cuando hay muchas consultas a la vez.
  • Vistas materializadas y caché de resultados para acelerar consultas repetidas; Redshift ML (Machine Learning: aprendizaje automático) para crear modelos con SQL.

Casos de uso típicos

  • Almacén de datos corporativo para informes y cuadros de mando (con Quick u otras herramientas de BI).
  • Análisis histórico de ventas, clientes o registros a gran escala.
  • Combinar datos del almacén con el lago de datos de S3 mediante Spectrum.
  • Análisis casi en tiempo real de datos operativos con zero-ETL.

Cuándo NO usarlo

  • Transacciones de una aplicación (OLTP (Online Transaction Processing: las transacciones del día a día de una aplicación), muchas escrituras pequeñas): RDS, Aurora o DynamoDB.
  • Consultas puntuales sobre ficheros en S3 sin mantener un almacén: Athena.
  • Búsqueda de texto o análisis de registros casi en tiempo real: OpenSearch.

Redshift, Athena y RDS

NecesidadServicio adecuado
Análisis intensivo y recurrente sobre grandes volúmenes (OLAP)Redshift
Consultas SQL ocasionales sobre ficheros en S3, sin infraestructuraAthena
Transacciones de una aplicación (OLTP)RDS o Aurora
Tablero de BI sobre esos datosAmazon Quick

Modelo de precios

En clústeres aprovisionados se paga por hora de nodo (con instancias reservadas) y por el almacenamiento gestionado de los RA3. En Serverless, por RPU-hora consumida mientras se ejecutan consultas y por almacenamiento. Aparte: Spectrum (por datos analizados en S3), concurrency scaling por encima del crédito gratuito diario y las copias entre regiones.

Seguridad y alta disponibilidad

  • Cifrado en reposo con KMS (Key Management Service) y en tránsito con TLS (Transport Layer Security: cifrado de las conexiones).
  • Despliegue en subredes privadas; Enhanced VPC Routing fuerza a que el tráfico de COPY y UNLOAD pase por la VPC (Virtual Private Cloud).
  • Permisos por usuario, rol, esquema, tabla, fila y columna; integración con IAM Identity Center.
  • Instantáneas automáticas en S3, copia a otra región y reubicación del clúster a otra zona (RA3); despliegue Multi-AZ para clústeres RA3.

Trampas de examen

  • "Data warehouse", "OLAP" o "BI sobre petabytes": Redshift.
  • "Consultar datos de S3 desde Redshift sin cargarlos": Redshift Spectrum.
  • "Cargar muchos datos de S3 rápido": COPY, no INSERT fila a fila.
  • "Analizar datos de Aurora sin construir ETL (Extract, Transform, Load: extraer, transformar y cargar datos)": integración zero-ETL.
  • "Carga intermitente sin gestionar el clúster": Redshift Serverless.
  • "Compartir datos con otra cuenta sin copiarlos": data sharing.
  • "Consultas SQL puntuales y baratas sobre S3": Athena, no Redshift.

Preguntas de práctica

Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.

Fuentes