Data Lake vs Data Warehouse: Principais Diferenças

As diferenças reais entre data lakes e data warehouses em 2026: esquema, precificação, usuários e onde os lakehouses se encaixam.

Data Lake vs Data Warehouse

Qual é a diferença entre um data lake e um data warehouse?

Um data lake armazena dados brutos no formato original e aplica estrutura só quando alguém os lê. Um data warehouse armazena dados que já foram limpos e modelados, e responde consultas SQL para relatórios e dashboards.

Um lake aceita dados estruturados, semiestruturados e não estruturados sem nenhuma mudança antes de salvar. Eventos JSON brutos de um app ou leituras de sensores IoT são dados típicos de lake. Um warehouse guarda uma versão curada desses dados: tabelas de vendas limpas, unidas e modeladas, prontas para um dashboard.

A ordem de processamento também é diferente. Os dados normalmente passam por limpeza e estruturação antes de entrar em um warehouse, enquanto um lake armazena primeiro e deixa você processar depois, ou nunca.

Como schema, tipos de dados, usuários e performance se comparam?

Um lake é schema-on-read, barato de armazenar e voltado a código. Um warehouse é schema-on-write, mais caro por terabyte e feito para SQL rápido. Esta é a comparação padrão:

Dimensão

Data lake

Data warehouse

Schema

Schema-on-read: estrutura aplicada na consulta

Schema-on-write: estrutura definida antes da carga

Dados

Brutos: estruturados, semiestruturados, não estruturados

Processados e modelados, majoritariamente relacionais

Usuários típicos

Engenheiros e cientistas de dados

Analistas, times de business intelligence (BI)

Cargas de trabalho

Machine learning, exploração, streaming

Dashboards, relatórios, métricas governadas

Custo de armazenamento

Baixo (object storage)

Mais alto por terabyte

Performance de SQL

Depende de engine, layout de arquivos e particionamento

Rápida, o sistema inteiro é otimizado para isso

Essas linhas descrevem como cada sistema costuma ser operado, e nenhuma delas é um limite rígido de produto. A própria comparação da AWS diz que o schema de um warehouse pode ser schema-on-write ou schema-on-read, e warehouses modernos carregam dados semiestruturados como JSON sem problema. As diferenças reais na prática são quem consulta o sistema, o quão governados os dados são e o que a conta mede.

Tabela da AWS comparando data warehouse e data lake em dados, schema, qualidade, usuários e análises

Tabela de comparação da própria AWS entre data warehouse e data lake


O Amazon S3 é um data lake?

O Amazon S3 sozinho é object storage. Ele vira um data lake quando você adiciona as peças ao redor: pipelines de ingestão, um formato de tabela ou catálogo, uma engine de consulta e segurança e governança. Um bucket cheio de arquivos sem nada disso é só um bucket cheio de arquivos.

Uma versão concreta desse stack: a Erathos carrega dados de origem no S3 como arquivos Parquet em tabelas Iceberg, com particionamento automático e evolução de schema. Athena, Spark, Trino ou qualquer outra engine de consulta pode ler essas tabelas. O armazenamento é S3 puro; o formato de tabela e o pipeline são o que o tornam um lake.

Quando usar um data lake, um data warehouse ou os dois?

Um lake serve quando você tem muitos dados brutos e variados e quer explorá-los com código ou treinar modelos com eles. Um warehouse serve quando você tem perguntas de negócio específicas e quer relatórios rápidos.

No padrão combinado mais comum, todos os dados chegam primeiro a um data lake e depois são carregados em warehouses e marts para casos de uso específicos. O lake guarda o histórico bruto, completo e barato. O warehouse recebe o subconjunto curado que os analistas consultam todo dia.


Diagrama do padrão combinado: fontes chegam brutas em um data lake, dados curados vão para o data warehouse e dashboards de BI consultam


Pular o lake funciona quando suas fontes já são estruturadas (bancos de dados, APIs de SaaS) e seus únicos consumidores são dashboards de BI. Pular o warehouse é mais difícil, porque analistas querem SQL rápido e governado, e é exatamente isso que um lakehouse tenta oferecer.

Quanto custam data lakes e data warehouses?

Um lake cobra principalmente por object storage e requisições. Um warehouse cobra por computação (créditos, slot-horas ou node-horas) mais armazenamento comprimido. Os medidores medem coisas diferentes, então os números abaixo podem ser comparados em espírito, mas nunca somados:

Plataforma

Medidor

Preço de tabela

Amazon S3 Tables

Armazenamento

US$ 0,0265 por GB/mês nos primeiros 50 TB

Amazon S3 Tables

Requisições GET

US$ 0,0004 por 1.000 requisições

BigQuery (on-demand)

Dados escaneados por consultas

US$ 6,25 por TiB, primeiro 1 TiB do mês grátis

BigQuery

Armazenamento lógico ativo

US$ 23,552 por TiB/mês em us-central1

Snowflake (Standard)

Créditos de computação

US$ 2,00 por crédito na AWS US East (N. Virginia)

Snowflake

Armazenamento on-demand

US$ 23,00 por TB/mês, após compressão

Redshift Serverless

Tempo de computação

A partir de US$ 1,50 por hora

Redshift

Armazenamento gerenciado

US$ 0,024 por GB/mês em US East (N. Virginia)

O armazenamento em um lake custa hoje quase o mesmo que o armazenamento gerenciado de warehouse por gigabyte, então o preço de armazenamento sozinho raramente decide a arquitetura. A computação é onde as contas divergem: o BigQuery cobra por bytes escaneados, então particionamento e clustering cortam o custo das consultas diretamente, enquanto Snowflake e Redshift cobram por tempo de computação, então o tamanho do warehouse e o tempo de execução puxam a conta.

Cards de preço do Snowflake com valores por crédito dos planos Standard, Enterprise e Business Critical na AWS US East

Preços por crédito do Snowflake para AWS US East (N. Virginia)


O que é um lakehouse e como ele muda a decisão?

Um lakehouse dá recursos de warehouse a arquivos em object storage: transações, imposição de schema e SQL rápido sobre o mesmo armazenamento barato que um lake usa. Ele faz isso com um formato de tabela aberto, uma camada de metadados que registra quais arquivos pertencem a qual versão de uma tabela.

Os dois principais formatos de tabela:

  • Delta Lake estende arquivos Parquet com um log de transações em arquivo. Esse log dá às tabelas transações ACID (atômica, consistente, isolada, durável: uma escrita acontece por completo ou não acontece), validação de schema na escrita e time travel. É o formato padrão no Databricks.
  • Apache Iceberg é um formato de tabela neutro de engine. Spark, Trino, Flink, Presto e Hive podem trabalhar nas mesmas tabelas Iceberg ao mesmo tempo, e mudanças de schema nunca exigem reescrever a tabela.
Diagrama do stack de lakehouse: engines de consulta sobre um formato de tabela aberto como Delta Lake ou Iceberg, sobre arquivos Parquet em object storage


Um formato de tabela sozinho é uma especificação, e um lakehouse funcionando ainda precisa de catálogo, engine de consulta e pipelines o alimentando. Carregar dados nele é igual a carregar um warehouse: a Erathos, por exemplo, escreve dados de origem direto no Delta Lake no Databricks com particionamento configurável, e os times consultam com Python, SQL ou Spark.


As fronteiras entre lake e warehouse ainda estão claras em 2026?

A fronteira praticamente se dissolveu no nível de plataforma. Produtos de warehouse agora gerenciam tabelas em formato aberto no object storage que você controla, o que antes era a marca registrada do lake.

O Snowflake roda tabelas Iceberg no S3, Google Cloud Storage ou Azure Storage gerenciados por você. Tabelas em um volume externo gerenciado pelo cliente não têm custo de armazenamento do Snowflake. O Snowflake cobra só a computação que as consulta. O BigQuery oferece tabelas Iceberg gerenciadas que armazenam dados em buckets do Cloud Storage do próprio cliente com a mesma experiência das tabelas padrão do BigQuery.

O formato aberto ainda vem com restrições de plataforma. As tabelas Iceberg gerenciadas do BigQuery permitem uma instrução DML (linguagem de manipulação de dados) mutante por tabela por vez, ficam sem views materializadas e sem segurança em nível de linha, e alterar arquivos direto no bucket pode causar perda de dados. O Snowflake documenta seus próprios limites para tabelas que usam um catálogo Iceberg externo. Cada engine ainda tem seus próprios limites sobre o que consegue fazer com esse armazenamento.


Onde o ELT e a movimentação de dados entram?

O ELT carrega os dados no lake ou no warehouse primeiro e transforma lá, nessa ordem: extrair, carregar, transformar. Essa ordem é o que torna possível o padrão de histórico bruto, porque a carga acontece antes de qualquer transformação e a cópia intocada fica disponível para modelagem depois.

A etapa de carga carrega a maior parte das decisões de arquitetura. A Erathos tem mais de 100 conectores e carrega em BigQuery, Databricks, Redshift, ClickHouse, Postgres e S3 Iceberg, então o mesmo desenho de pipeline funciona com destino warehouse, lakehouse ou lake. Cada carga roda como atualização em lote, carga incremental por cursor ou change data capture (CDC), que copia só as linhas que mudaram na origem.

A operação importa tanto quanto o destino. A Erathos agenda syncs de a cada 5 minutos até diário, refaz jobs que falharam e ajusta cursores para reprocessar períodos específicos. Cada execução é registrada com linhas processadas e erros, com alertas no Slack ou por e-mail quando algo quebra. Um lake com ingestão parada ou quebrada em silêncio responde errado, não importa o quão bom seja o formato de tabela.


Resumo rápido

  • Data lake: dados brutos no formato nativo, schema-on-read, object storage barato, usuários que trabalham com código.
  • Data warehouse: dados limpos e modelados, schema-on-write, SQL rápido, usuários analistas.
  • S3 é armazenamento; um lake é S3 mais ingestão, formato de tabela, engine de consulta e governança.
  • Lakehouse: tabelas Delta Lake ou Iceberg sobre object storage, com transações e time travel.
  • Em 2026, Snowflake e BigQuery rodam tabelas Iceberg em buckets seus.
  • Custo: lakes cobram armazenamento e requisições; warehouses cobram computação mais armazenamento comprimido.
  • ELT alimenta todos eles: carregue bruto primeiro, transforme no destino.

Pronto para levar seus dados do lake, do warehouse ou dos dois para onde eles precisam estar?

Seja qual for a arquitetura que você escolher, lake, warehouse ou lakehouse, o gargalo raramente é a decisão entre eles. É manter a ingestão funcionando sem parar: schema mudando, rate limit estourando, pipeline quebrando sem avisar. A Erathos carrega dados de mais de 100 fontes direto para BigQuery, Databricks, Redshift, ClickHouse, PostgreSQL ou S3 em formato Iceberg, com sincronização automática e monitoramento de cada carga.

Crie sua conta gratuita na Erathos e comece a carregar seus dados hoje.