Data Architecture Foundations

Lakehouse

Apresentaçã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)

  1. Qual a diferença entre Data Lake e Data Warehouse?
  2. O que é um Lakehouse?
  3. O que é Medallion Architecture?
  4. Qual a diferença entre OLTP e OLAP?
  5. O que é schema-on-read?
  6. Porque surgiram Lakehouses?
  7. 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.