Data Architecture Foundations
LakehouseApresentação
🧱 BLOCO 1 — Data Architecture Foundations
Este bloco é a base de quase todas as entrevistas de Data Engineering.
Se dominares isto consegues falar com confiança sobre:
- Data Lakes
- Data Warehouses
- Lakehouse
- Medallion Architecture
- OLTP vs OLAP
- Batch vs Streaming
- Schema-on-read vs schema-on-write
1️⃣ OLTP vs OLAP
OLTP — Online Transaction Processing
Sistemas operacionais.
Exemplos:
- aplicações
- ecommerce
- CRM
- bancos
Características:
- muitas transações pequenas
- leituras e escritas rápidas
- dados altamente normalizados
Exemplos de bases OLTP:
- PostgreSQL
- MySQL
- SQL Server
- MongoDB
Exemplo de query OLTP:
SELECT *
FROM orders
WHERE order_id = 1234;
OLAP — Online Analytical Processing
Sistemas analíticos.
Usados para:
- dashboards
- analytics
- BI
- reporting
- ML
Características:
- queries complexas
- agregações
- grandes volumes de dados
- poucas escritas
Exemplos:
- BigQuery
- Snowflake
- Redshift
- Fabric Warehouse
Exemplo de query OLAP:
SELECT
country,
SUM(revenue)
FROM sales
GROUP BY country;
Pergunta típica
Qual a diferença entre OLTP e OLAP?
Resposta curta ideal:
OLTP systems são usados para workloads transacionais com muitas operações pequenas de leitura e escrita, enquanto OLAP systems são otimizados para análise de grandes volumes de dados e queries agregadas complexas.
2️⃣ Data Warehouse
O que é
Um Data Warehouse é um sistema centralizado para análise de dados estruturados.
Dados vêm de:
- aplicações
- ERP
- CRM
- logs
- APIs
Pipeline típico:
Sources
↓
ETL
↓
Data Warehouse
↓
BI
Características
- dados estruturados
- schema definido
- otimizado para queries analíticas
- dados históricos
Modelação típica
Star schema
- Tabela de factos: sales
- Tabelas de dimensão: customers, products, dates
Exemplo:
SELECT
p.category,
SUM(s.amount)
FROM sales s
JOIN products p
ON s.product_id = p.product_id
GROUP BY p.category;
3️⃣ Data Lake
O que é
Um Data Lake é um repositório para armazenar dados brutos em grande escala.
Pode conter:
- JSON
- logs
- CSV
- Parquet
- imagens
- dados semi-estruturados
Exemplos:
- AWS S3
- Google Cloud Storage
- Azure Data Lake
- OneLake (Fabric)
Estrutura típica
data-lake/
raw/
processed/
curated/
Exemplo:
s3://datalake/raw/events/
Problema clássico
Sem governação vira: Data Swamp
Ou seja:
- dados duplicados
- schemas inconsistentes
- dados sem qualidade
4️⃣ Schema-on-write vs Schema-on-read
Schema-on-write
O schema é aplicado antes de armazenar os dados.
Exemplo: Data Warehouse
Pipeline: extract → transform → load
Benefícios:
- dados consistentes
- queries rápidas
Schema-on-read
O schema é aplicado quando os dados são lidos.
Exemplo: Data Lakes
Dados são guardados como estão:
- JSON
- logs
- event streams
Depois o schema é aplicado no processamento.
Pergunta típica
Qual a diferença entre schema-on-read e schema-on-write?
Resposta ideal:
Schema-on-write aplica o schema antes de os dados serem armazenados, garantindo consistência. Schema-on-read armazena dados brutos e aplica o schema apenas no momento da leitura.
5️⃣ Lakehouse
O Lakehouse surgiu para resolver problemas do Data Lake.
Combina: Data Lake + Data Warehouse
Objetivo:
- armazenamento barato
-
- queries rápidas
-
- governação
Tecnologias usadas:
- Delta Lake
- Iceberg
- Hudi
Fabric usa: Delta Lake
Arquitetura Lakehouse
Pipeline típico:
Sources
↓
Data Lake
↓
Processing
↓
Tables
↓
BI
Benefícios:
- uma única plataforma
- menos duplicação
- ML + analytics
6️⃣ Medallion Architecture (super importante)
Muito usada em:
- Databricks
- Fabric
- modern data platforms
Tem 3 camadas
Bronze
Dados brutos.
- dados ingestados
- quase sem transformação
Exemplo: logs, event streams, raw API data
Silver
Dados limpos.
Transformações:
- deduplicação
- normalização
- data cleaning
Gold
Dados prontos para negócio.
- agregações
- modelos analíticos
Exemplo: sales_by_country, daily_active_users
Fluxo
Bronze
↓
Silver
↓
Gold
Pergunta típica
Porque usar Medallion Architecture?
Resposta:
Permite separar ingestão, processamento e consumo de dados, melhorando qualidade, rastreabilidade e reutilização dos dados.
7️⃣ Batch vs Streaming
Batch
Processamento em blocos.
Exemplo: ETL diário
Pipeline:
data
↓
job
↓
warehouse
Streaming
Processamento contínuo.
Exemplo: clickstreams, fraud detection, IoT
Ferramentas:
- Kafka
- PubSub
- Spark streaming
- Flink
Pergunta típica
Quando usar batch vs streaming?
Resposta:
Batch é adequado para workloads periódicos e grandes volumes históricos, enquanto streaming é usado quando precisamos de processar dados em tempo real ou near-real-time.
🧠 Perguntas de entrevista (treina responder)
- Qual a diferença entre Data Lake e Data Warehouse?
- O que é um Lakehouse?
- O que é Medallion Architecture?
- Qual a diferença entre OLTP e OLAP?
- O que é schema-on-read?
- Porque surgiram Lakehouses?
- Quando usar streaming vs batch?
💻 Código que podes ver nesta área
Normalmente aparece SQL analítico.
Exemplo de agregação:
SELECT
DATE(order_date) AS day,
SUM(revenue) AS daily_revenue
FROM orders
GROUP BY day
ORDER BY day;
Exemplo de transformação típica:
CREATE TABLE sales_by_country AS
SELECT
country,
SUM(amount) AS total_sales
FROM sales
GROUP BY country;
📌 O mais importante deste bloco
Se souberes explicar estes conceitos com confiança, estás ótimo:
- OLTP vs OLAP
- Data Warehouse
- Data Lake
- Schema-on-read vs write
- Lakehouse
- Medallion Architecture
- Batch vs Streaming
Perguntas
Sem perguntas. Clica em Editar para adicionar.