SAP-C02

Deep Dive

Todas las guías
Practicar ahora
D2 · Diseño de nuevas soluciones

Analytics y Data Lake: Redshift, Glue y Lake Formation

Las arquitecturas de datos a escala petabyte son un tema frecuente en el SAP-C02. El examen espera que puedas diseñar pipelines de datos end-to-end: ingesta, transformación, almacenamiento, consulta y gobernanza.

Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

Arquitectura de Data Lake en AWS — las 5 capas

1

Ingesta (Ingest)

Captura de datos de múltiples fuentes: batch y streaming.

Kinesis Data Streams / Firehose — streaming en tiempo real

AWS DMS — migración de bases de datos transaccionales

AWS DataSync — transferencia de datos on-premises a S3

S3 Transfer Acceleration — uploads rápidos desde ubicaciones globales

Direct Connect / AWS Snow Family — transferencias masivas

2

Almacenamiento crudo (Raw)

S3 como repositorio central. Los datos se almacenan en formato original.

S3 (zona raw/landing) — datos sin transformar en formato original

Glacier — datos fríos o archivados a largo plazo

S3 Intelligent-Tiering — lifecycle automático para datos de acceso impredecible

3

Procesamiento (Process)

Transformación, limpieza y enriquecimiento de datos.

AWS Glue — ETL serverless con catálogo de datos

EMR — Spark/Hadoop para procesamiento masivo con control total

Lambda — transformación ligera sin servidor

Kinesis Data Analytics / Apache Flink — procesamiento en streaming

4

Almacenamiento procesado (Curated)

Datos transformados listos para consumo analítico.

S3 (zona curated) — Parquet/ORC para queries eficientes con Athena

Redshift — data warehouse para OLAP y BI

DynamoDB — acceso de baja latencia para dashboards en tiempo real

ElastiCache — caché para resultados de queries frecuentes

5

Consumo (Consume)

Visualización, ML y acceso a los datos procesados.

Athena — SQL serverless sobre S3

QuickSight — BI y dashboards (nativo de AWS)

SageMaker — entrenamiento de modelos ML sobre datos del lake

Redshift Spectrum — queries sobre S3 desde Redshift

OpenSearch — búsqueda y análisis de logs

Icon-Architecture/48/Arch_Amazon-Redshift_48

Amazon Redshift — data warehouse columnar a escala

Amazon Redshift es el data warehouse columnar gestionado de AWS, diseñado para OLAP (Online Analytical Processing). Escala a petabytes y soporta queries SQL complejas sobre datos agregados.

Componentes de arquitectura

Leader NodeRecibe queries SQL, genera plan de ejecución y coordina los Compute Nodes.
Compute NodesEjecutan las operaciones de query en paralelo sobre sus datos locales (columnar storage). Cada nodo tiene slices.
Node TypesRA3: almacenamiento en S3, escala independiente compute/storage. DC2: solo SSD local, mayor costo.
Redshift ServerlessSin provisioning de clusters. Paga por RPU-segundos. Ideal para cargas intermitentes.
Concurrency ScalingAñade clusters de lectura automáticamente durante picos. Primer 1 hora/día gratis.

Funciones clave para el examen

Redshift SpectrumQueries SQL directamente sobre datos en S3 (Parquet, ORC, CSV) sin cargarlos en Redshift.
COPY commandCarga masiva paralela desde S3, DynamoDB, EMR o SSH. Método recomendado para cargar datos.
Distribution KeysDefine cómo se distribuyen las filas entre nodos. KEY: misma clave en el mismo nodo. ALL: tabla copiada en todos. EVEN: round-robin.
Sort KeysOrdena los datos en disco para acelerar filtros de rango. Compound vs Interleaved sort key.
Data SharingCompartir datos entre clusters Redshift de diferentes cuentas sin mover los datos.
Icon-Architecture/48/Arch_AWS-Glue_48

AWS Glue — ETL serverless y catálogo de datos

📚

Glue Data Catalog

Repositorio central de metadatos: esquemas, tablas, particiones. Compatible con Hive Metastore. Lo usan Athena, Redshift Spectrum, EMR y Glue jobs para descubrir datos.

🕷️

Glue Crawlers

Escanean fuentes de datos (S3, RDS, DynamoDB) automáticamente y crean/actualizan definiciones de tablas en el Data Catalog. Sin código manual de definición de esquemas.

⚙️

Glue ETL Jobs

Scripts Python/Scala que transforman datos usando Apache Spark gestionado. Auto-generate code o scripts propios. Modo Spark o Python Shell (para cargas pequeñas).

🧪

Glue DataBrew

Herramienta visual de limpieza y normalización de datos sin código. 250+ transformaciones pre-construidas. Para usuarios no técnicos.

🌊

Glue Streaming ETL

Procesa datos de Kinesis Data Streams o MSK (Kafka) en micro-batches con Spark Structured Streaming. Para pipelines de datos en tiempo real.

🔀

Glue Workflows

Orquesta múltiples Glue jobs y crawlers en un DAG (directed acyclic graph). Triggers manuales, programados o basados en eventos.

Glue vs EMR — cuándo usar cada uno

Glue cuando:

  • ETL sin gestionar infraestructura
  • Jobs infrecuentes o intermitentes
  • El catálogo de datos es el requisito principal
  • Tiempo de startup no es crítico (minutos)

EMR cuando:

  • Control total sobre la configuración de Spark
  • Jobs de larga duración (horas)
  • Costos a gran escala (spot instances)
  • Herramientas Hadoop específicas (HBase, Hive, Presto)
Icon-Architecture/48/Arch_Amazon-Simple-Storage-Service_48

AWS Lake Formation — gobernanza y seguridad del Data Lake

Lake Formation centraliza la seguridad del Data Lake. En lugar de gestionar permisos S3 directamente, Lake Formation define permisos a nivel de tabla y columna en el Data Catalog, que se aplican a todos los servicios que lo usan (Athena, Redshift Spectrum, Glue).

Column-level security

Restringe acceso a columnas específicas (ej: ocultar PII como SSN o email a ciertos roles).

Row-level security

Filtra filas según el usuario que realiza la query (ej: cada analista solo ve datos de su región).

Cell-level security

Combina fila y columna para control granular máximo.

Data Filters

Condiciones que se aplican automáticamente en queries sin que el usuario las vea.

Cross-account access

Compartir tablas del Data Catalog con otras cuentas AWS mediante Lake Formation permissions.

Tag-based access

LF-Tags: permisos basados en etiquetas en lugar de ARNs específicos. Escalable para miles de tablas.

Icon-Architecture/48/Arch_Amazon-Athena_48

Amazon Athena — SQL serverless sobre S3

Características clave

  • Serverless — sin clusters, paga por TB de datos escaneados ($5/TB)
  • Usa el Glue Data Catalog como metastore
  • Soporta: Parquet, ORC, JSON, CSV, Avro, TSV
  • Athena Federated Query: conecta a RDS, DynamoDB, Redshift via Lambda Connectors
  • Workgroups: controla costos y acceso por equipo
  • Result caching: queries repetidas no re-escanean S3

Optimización de costos en Athena

  • Formato columnar (Parquet/ORC): 60–90% menos datos escaneados vs CSV
  • Compresión: Snappy, Gzip, Zstd reducen el tamaño y por tanto el costo
  • Particionamiento: Hive-style partitions (año/mes/día) en S3 → solo escanea las particiones necesarias
  • Partition projection: define particiones en el Data Catalog sin crawlers
  • CTAS (Create Table As Select): crea tablas Parquet comprimidas desde queries
Icon-Architecture/48/Arch_Amazon-OpenSearch-Service_48

Amazon OpenSearch Service (ex ElasticSearch)

OpenSearch es el sucesor de Amazon Elasticsearch Service. Es un motor de búsqueda y análisis distribuido para datos de logs, documentos y métricas. El examen menciona ambos nombres.

Búsqueda full-text

Búsqueda en documentos JSON con scoring de relevancia. Ideal para catálogos de productos, documentación técnica.

Análisis de logs

Kibana/OpenSearch Dashboards para visualizar logs de aplicaciones, CloudWatch Logs via Subscription Filters.

Búsqueda geoespacial

Queries de proximidad y mapas. Para apps de geolocalización y tracking de flotas.

Icon-Architecture/48/Arch_Amazon-Redshift_48

Cuándo usar cada servicio de analytics

Tipo de workloadServicioRazón
Queries SQL ad-hoc sobre datos en S3AthenaServerless, paga por escaneo, sin cluster que mantener
Data warehouse para BI con tablas de hechos/dimensionesRedshiftColumnar, joins complejos, conectores BI, concurrencia scaling
ETL batch sin gestionar SparkGlueServerless ETL, catálogo integrado, auto-generated code
ETL masivo con control total sobre SparkEMRSpot instances, configuración custom, más barato a gran escala
Búsqueda full-text o análisis de logsOpenSearchMotor de búsqueda con scoring, Kibana para visualización
Análisis de streams en tiempo real con SQLKinesis Data Analytics (Flink)Managed Flink para queries sobre streams continuos
ML sobre datos del lakeSageMaker + S3/AthenaAccede a S3 directamente o via Athena para features
Gobernanza y seguridad a nivel columna del lakeLake FormationColumn/row/cell security centralizado para Athena + Redshift
Icon-Architecture/48/Arch_Amazon-Redshift_48

Trampas frecuentes del examen

Trampa: "Redshift es para OLTP (transacciones)"

Realidad: FALSO. Redshift es OLAP (analítico). Para OLTP usa RDS o Aurora. Redshift no está optimizado para escrituras frecuentes de una fila a la vez.

Trampa: "Athena almacena los datos que consulta"

Realidad: FALSO. Athena consulta datos que ya están en S3. No mueve ni almacena datos — solo los lee. El almacenamiento es en S3.

Trampa: "Glue Crawlers son necesarios para usar Athena"

Realidad: No son obligatorios. Puedes definir tablas manualmente en el Data Catalog. Los Crawlers automatizan ese proceso.

Trampa: "EMR es serverless como Glue"

Realidad: FALSO. EMR requiere provisioning de clusters (EC2). Sí se puede usar con spot instances para reducir costo, pero no es serverless. Existe EMR Serverless para procesamiento sin gestionar clusters.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una empresa necesita construir un Data Lake en AWS. Los datos llegan por streaming desde IoT devices (100K eventos/seg), se procesan con transformaciones complejas, y los analistas de negocio necesitan ejecutar queries SQL ad-hoc. El equipo de seguridad requiere que ciertos analistas NO puedan ver la columna 'customer_id'. ¿Cuál es la arquitectura correcta?

Inicia sesión para llevar tu progreso.