Os três paradigmas de armazenamento analítico evoluíram ao longo do tempo. Entender as diferenças é essencial para escolher a arquitetura certa.
Data Warehouse
Surgido nos anos 1990, o Data Warehouse (DW) armazena dados estruturados, limpos e modelados para análise de negócio (OLAP).
- Schema-on-write: o dado é modelado antes de entrar
- Alto desempenho em queries analíticas (colunar, índices otimizados)
- Caro para escalar em volume muito grande
- Não suporta bem dados semi-estruturados (JSON) ou não estruturados (imagens, texto)
- Exemplos: Snowflake, Google BigQuery, Amazon Redshift, SQL Server Analysis Services
Data Lake
Surgido com o Hadoop (~2010), o Data Lake armazena dados brutos em qualquer formato em object storage barato (S3, GCS, ADLS).
- Schema-on-read: a estrutura é aplicada na leitura
- Extremamente barato em escala (object storage)
- Suporta dados estruturados, semi-estruturados e não estruturados
- Problema: sem governança vira um “Data Swamp” (pântano), com dados sem qualidade e sem rastreabilidade
- Separação de compute e storage: você paga só pelo que usa
Data Lakehouse
O Lakehouse (termo cunhado pela Databricks em 2020) combina o melhor dos dois:
- Armazenamento barato do Data Lake (object storage)
- Qualidade e governança do Data Warehouse (transações ACID, schema enforcement, versionamento)
- Suporte a múltiplas cargas: SQL analítico, ML, streaming
- Implementado via table formats abertos: formatos-de-arquivo-datalake (Delta Lake, Apache Iceberg, Apache Hudi)
- Exemplos de plataformas: Databricks (ver databricks), Apache Spark + Delta Lake, Dremio, Starburst
Comparativo
| Característica | Data Warehouse | Data Lake | Data Lakehouse |
|---|---|---|---|
| Formato dos dados | Estruturado | Qualquer | Qualquer |
| Schema | Write-time | Read-time | Write-time (opcional) |
| Transações ACID | Sim | Não | Sim |
| Custo de storage | Alto | Baixo | Baixo |
| Performance analítica | Alta | Média | Alta |
| Suporte a ML/AI | Limitado | Sim | Sim |
| Versionamento | Limitado | Não | Sim (time travel) |
| Governança | Alta | Baixa | Alta |
Quando usar cada um
Data Warehouse: equipe focada em BI, dados já estruturados, necessidade de SLA alto para dashboards, orçamento para uma plataforma gerenciada.
Data Lake puro: dados exploratórios, volumes extremamente grandes, formatos variados sem destino analítico claro ainda.
Data Lakehouse: o padrão para novos projetos. Combina a flexibilidade do lake com a qualidade do warehouse, com suporte nativo a ML e streaming, sem duplicar dados entre sistemas.
Arquitetura típica de um Lakehouse
flowchart LR subgraph Fontes B[Bancos OLTP] AP[APIs / Webhooks] K[Kafka / Eventos] AR[Arquivos / S3] end subgraph Ingestão I[Fivetran / Airbyte / Spark] end subgraph Lakehouse BR[(Bronze raw)] SI[(Silver limpo)] GO[(Gold agregado)] end subgraph Serving D[Dashboards BI] ML[ML Features] API[APIs de produto] DS[Data Science] end B & AP & K & AR --> I I --> BR --> SI --> GO GO --> D & ML & API & DS
Ver também: arquitetura-medalhao | formatos-de-arquivo-datalake | big-data | engenharia-de-dados | databricks | databricks-delta-lake | mermaid-diagrams