🧠FFVAcademy
📊

Analytics: Athena, EMR, Kinesis, Glue, Redshift

12 min de leitura·+60 XP

Analytics no SAA-C03 cobre escolha entre data lake (S3 + Athena + Glue) e data warehouse (Redshift), ingestão (Kinesis vs MSK), ETL (Glue vs EMR) e visualização (QuickSight). Não vira DBA — o exame testa se você sabe qual ferramenta resolve qual problema, sem combo errado.

📘 High-Performing· 24%
📘 Cost-Optimized· 20%

Arquitetura típica de data lake AWS

🗺️ Pipeline end-to-end
  Sources
  ──────────
  App logs ──┐
  RDS CDC ───┤     Ingest          Storage         Catalog/ETL        Query/BI
  IoT      ──┤  ┌───────────┐   ┌───────────┐   ┌───────────┐    ┌───────────┐
  Clickstream┼─▶│ Kinesis   │──▶│    S3     │──▶│   Glue    │───▶│  Athena   │
  SaaS     ──┤  │ Streams   │   │ data lake │   │ Catalog   │    │  Redshift │
  Batch CSV──┘  │ Firehose  │   │ parquet   │   │ Crawlers  │    │  QuickSight│
                │ DMS       │   │ particion.│   │ ETL jobs  │    │  SageMaker │
                └───────────┘   └───────────┘   └───────────┘    └───────────┘

Athena — SQL serverless sobre S3

EnginePresto/Trino gerenciado. Query SQL padrão.
Cobrança$5 por TB escaneado (us-east-1, abril/2026). Sem cluster idle.
FontesS3 nativo; federation para RDS, DynamoDB, CloudWatch, Elasticache, JDBC.
OtimizaçõesColunar (Parquet/ORC) + Partitioning + Compressão + Projection. Redução típica de custo 80%+.
CTAS / INSERTCreate Table As Select para gerar Parquet particionado a partir de CSV/JSON — one-off ETL.
WorkgroupsIsolamento de queries + limits + cost tracking por equipe.
Federated QueryQuery cross-source usando Lambda data connectors.
sql
-- Exemplo: query particionada com projection
SELECT user_id, COUNT(*) AS sessions
FROM logs.events
WHERE year = 2026 AND month = 4
GROUP BY user_id
ORDER BY sessions DESC
LIMIT 100;

Redshift — data warehouse colunar

ArquiteturaLeader node + compute nodes (ra3 com managed storage, escala compute/storage separados).
Colunar + MPPArmazenamento colunar + paralelismo massivo entre nodes. Compressão automática.
Redshift SpectrumQuery em S3 diretamente sem ingerir. Similar a Athena mas acessando de dentro do cluster.
Aurora Zero-ETLReplicação quase em tempo real de Aurora para Redshift sem pipeline manual.
ServerlessEscala em RPU automaticamente. Ideal para workloads esporádicos.
Concurrency ScalingClusters transparentes absorvem picos de queries concorrentes.
Data SharingShare live data read-only entre clusters sem copiar.
AthenaRedshiftRedshift Spectrum
ServerlessCluster provisionado (ou Serverless)Cluster Redshift acessando S3
Pay per TB scannedPay por node/horaCobra TB scanned + cluster
Ad-hoc queries sobre data lakeBI estruturado, dashboards pesadosExtender Redshift para S3 externo
Latência: segundos–minutosms–segundos (hot queries)Segundos

Glue — ETL e Data Catalog

Glue Data CatalogMetastore Hive-compatible central. Athena, EMR, Redshift Spectrum usam o mesmo catálogo.
CrawlersDetectam schema automaticamente em S3/RDS/DynamoDB e populam Data Catalog.
Glue ETL JobsSpark managed. Escala em DPUs. Python shell para jobs pequenos.
Glue DataBrewVisual data prep (250+ transforms no-code).
Glue StudioEditor visual para jobs Spark.
Glue StreamingSpark Structured Streaming sobre Kinesis/MSK.
Job BookmarksRastreio de dados já processados para incremental ETL.

EMR — Hadoop/Spark gerenciado

FrameworksSpark, Hive, Presto, HBase, Flink, Trino, Hudi, Iceberg.
DeploymentEC2 (mais controle), EKS (containers), Serverless (sem cluster management), Outposts (on-prem).
StorageEMRFS (S3 com consistency) vs HDFS em EBS (temporário).
Instance fleetsSpot + On-Demand misturados para reduzir custo.
Quando escolherTransformações custom complexas, migração de Hadoop on-prem, Spark ML pipelines grandes.
💡
Glue vs EMR: Glue é managed sem cluster visível, escolha default para ETL Spark. EMR quando você precisa customizar bootstrap, usar frameworks fora do Glue (HBase, Presto standalone, Flink) ou ter full control sobre o cluster. Glue é mais caro por DPU mas zero admin.

Ingestão — Kinesis, DMS, MSK

ServiçoUso
Kinesis Data StreamsStream ordenado por shard, retenção até 365 dias.
Kinesis Data FirehoseDelivery managed para S3/Redshift/OpenSearch/Splunk, buffer mínimo 60s.
Managed Apache FlinkAnalytics em stream (ex-Kinesis Data Analytics).
MSK (Managed Kafka)Kafka cluster gerenciado quando ecosystem Kafka é requisito.
DMS (Database Migration Service)CDC contínuo de bancos OLTP para S3/Redshift/Kafka. Ideal para Zero-ETL-like replicação.
DataSyncTransferência agendada on-prem ↔ S3/EFS/FSx.
Snow FamilyTransferência de grandes volumes (TB/PB) via hardware físico.

OpenSearch, QuickSight, SageMaker

OpenSearch ServiceSearch + analytics baseado em Elasticsearch fork. Kibana/OpenSearch Dashboards. Ideal para logs, full-text, real-time analytics.
QuickSightBI serverless. SPICE (in-memory) para performance. ML insights automáticos. Pay-per-session economiza vs licenças fixas.
SageMakerPlataforma ML completa — treinamento, deployment, ground truth, etc. No SAA entra como consumidor final de data lake.
Lake FormationGovernança + permissões fine-grained sobre Data Catalog (row/column level).

Cenários arquiteturais do exame

📋 Empresa quer criar data lake moderno partindo do zero, times distribuídos, custo baixo

S3 + Glue Catalog + Athena (+ Lake Formation para governança)

Serverless ponta-a-ponta. Sem cluster, times podem consumir com SQL familiar. Glue cataloga, Lake Formation governa.

📋 DW relacional legado on-prem com 20TB sendo migrado; dashboards executivos com SLA <1s

Redshift (ra3 com managed storage) + QuickSight

Redshift otimizado para OLAP estruturado. SLA baixo exige cluster dedicado/quente. QuickSight SPICE para dashboards.

📋 Pipeline real-time de IoT: ingest 1M events/s, enriquecer com dado de RDS, gravar parquet + alertar

Kinesis Streams → Managed Flink (enrich + window) → Firehose (S3 Parquet) + SNS alerts

Streams aguenta throughput. Flink permite join com RDS e janelas temporais. Firehose converte para Parquet nativo e entrega S3.

Q&A estilo exame

Como reduzir custo de queries Athena em 80%?

(1) Converter dados para Parquet colunar; (2) Particionar por colunas de filtro frequentes (data, região); (3) Compressão Snappy; (4) CTAS para materializar agregados; (5) Workgroup com per-query limit.

Athena ou Redshift Spectrum para consulta ocasional em S3?

Athena. É serverless e cobra apenas por TB escaneado. Redshift Spectrum exige cluster Redshift rodando, só faz sentido se já tem Redshift e quer estender para dados externos.

Quando escolher Kinesis Firehose vs Data Streams?

Firehose = delivery simples para S3/Redshift/OpenSearch, buffer 60s+, sem código. Streams = você quer processar com Lambda/Flink/KCL, múltiplos consumers, retention longa.

Glue Crawler está detectando schema errado — fix?

Definir schema manualmente na tabela do Data Catalog. Ou ajustar classifier no crawler (custom Grok/XML). Ou pré-processar os dados para formato mais limpo.
⚠️
Armadilhas:(1) Athena não é OLTP — não tem índices, joins custosos; (2) Redshift COPY de S3 é o caminho rápido — NÃO use INSERT row-by-row; (3) Firehose tem buffer mínimo (60s ou 1MB) — não é real-time <1s; (4) EMR cluster sempre rodando desperdiça dinheiro — use transient clusters ou EMR Serverless; (5) Data Catalog é compartilhado — Athena, Spectrum, EMR veem as mesmas tabelas.
Take-aways: Data lake moderno = S3 (Parquet particionado) + Glue Catalog + Athena/Redshift Spectrum. Data warehouse clássico = Redshift. Streaming = Kinesis/MSK + Flink. ETL = Glue (serverless) ou EMR (custom). BI = QuickSight. Governança = Lake Formation.
🧩

Quiz rápido

3 perguntas · Acerte tudo e ganhe o badge 🎯 Gabarito