Data lake versus data warehouse: arquitetura, compensações e quando usar ambos

Data Pipeline

O Stripe Data Pipeline envia todos os dados e relatórios atualizados da Stripe para o Snowflake ou o Amazon Redshift, em poucos cliques.

Saiba mais 
  1. Introdução
  2. O que é um data lake?
  3. O que é um data warehouse?
  4. Quais são as principais diferenças entre um data lake e um data warehouse?
    1. Estrutura
    2. Desempenho de consultas
    3. Tipos de dados
    4. Governança e confiança
    5. Perfil de custo
  5. Como as organizações usam data lakes e data warehouses em conjunto?
  6. Como escolher entre um data lake e um data warehouse?
    1. Equipes de business intelligence (BI) e de geração de relatórios
    2. Equipes de ciência de dados e machine learning
    3. Equipes de engenharia que coletam dados em grande escala
    4. Cargas de trabalho mistas
  7. Como um provedor de pagamentos se encaixa na sua arquitetura de data lake ou data warehouse?
  8. Como o Stripe Data Pipeline pode ajudar

Data lakes e data warehouses resolvem problemas diferentes. Os lakes armazenam dados brutos de forma barata em seu formato nativo, e os warehouses fornecem dados com curadoria rapidamente. A forma como você os usa individualmente ou em conjunto afeta o que sua equipe de análise pode fazer, e a escala dos dados modernos torna essa escolha ainda mais impactante. Em 2024, 402,89 milhões de terabytes de dados foram criados, capturados, copiados ou consumidos por dia, totalizando cerca de 147 zettabytes por ano.

Abaixo, compararemos data lakes e data warehouses, explicaremos onde eles diferem em termos de esquema, custo, desempenho e governança, e como combinar a arquitetura certa com suas cargas de trabalho de dados.

Destaques

  • Os data lakes usam schema-on-read para armazenar dados brutos com flexibilidade, enquanto os data warehouses usam schema-on-write para oferecer um desempenho de consulta rápido e consistente para business intelligence (BI) e geração de relatórios.

  • As equipes de dados maduras geralmente usam os dois sistemas em uma arquitetura em camadas, com os dados brutos chegando a um data lake e os dados com curadoria fluindo para um data warehouse para análise.

  • A abordagem legada para dados de pagamento, de criar seu próprio pipeline, tende a ser frágil, já que as alterações de esquema de API podem interromper os pipelines.

O que é um data lake?

Um data lake é um repositório centralizado que armazena dados em seu formato bruto e nativo. Isso inclui dados estruturados (tabelas), dados semiestruturados, como logs em JavaScript Object Notation (JSON), e dados não estruturados (texto, imagens, vídeo).

O ideal definidor de um data lake é o schema-on-read. Os dados chegam exatamente como são produzidos, e a estrutura é aplicada depois no momento da consulta, quando alguém sabe a pergunta que está tentando responder. Essa flexibilidade torna os lakes adequados para ingestão em grande escala e análise exploratória. Você pode armazenar praticamente qualquer coisa sem decidir com antecedência como modelá-la.

O que é um data warehouse?

Um data warehouse é um sistema estruturado de análise projetado para consultas rápidas e consistentes.

Antes de os dados chegarem a um warehouse, eles geralmente são limpos, transformados e modelados em esquemas bem definidos e otimizados para análise. Essa abordagem é conhecida como schema-on-write: a estrutura e as definições são determinadas antes que os dados sejam armazenados. O resultado é um ambiente com curadoria no qual os analistas podem executar consultas, criar dashboards e calcular métricas sem se preocupar com formatos inconsistentes ou falta de contexto.

Enquanto um data lake prioriza a flexibilidade, um data warehouse prioriza a confiabilidade e o desempenho para análise de dados.

Quais são as principais diferenças entre um data lake e um data warehouse?

As diferenças práticas entre lakes e warehouses vão muito além de onde os dados são armazenados. Como eles são estruturados, quem pode usá-los e o custo das consultas também são distinções fundamentais.

Estrutura

Data lakes armazenam dados brutos e aplicam estrutura apenas quando as consultas são executadas. Essa flexibilidade permite várias interpretações do mesmo conjunto de dados. Data warehouses impõem estrutura quando os dados são gravados, de modo que todos que fazem consultas aos pedidos vejam o mesmo esquema e as mesmas definições.

Desempenho de consultas

Warehouses são criados para análise de dados interativas. Consultas em grandes tabelas em sistemas como Snowflake ou BigQuery podem retornar em segundos. Fazer consultas em arquivos brutos no armazenamento do lake pode ser mais lento e caro se você não tiver investido em otimizações como armazenamento em colunas, particionamento e compactação.

Tipos de dados

Warehouses são excelentes para dados relacionais estruturados usados em relatórios e painéis. Data lakes são mais flexíveis: eles podem armazenar logs brutos, JSON aninhado, conjuntos de dados de machine learning, imagens e outros formatos não relacionais.

Governança e confiança

Os dados de warehouse geralmente passam por pipelines de validação e transformação, o que os torna adequados para relatórios empresariais. Os dados em um lake costumam ser brutos e exploratórios, portanto, geralmente é necessário processamento adicional antes que possam dar suporte a métricas de produção.

Perfil de custo

Data lakes são muito mais baratos para armazenar grandes volumes de dados brutos ou acessados com pouca frequência. Warehouses custam mais por terabyte, mas oferecem desempenho de consulta mais rápido e melhor suporte para cargas de trabalho de análises de alta simultaneidade.

Como as organizações usam data lakes e data warehouses em conjunto?

As plataformas maduras tendem a usar os dois sistemas, com cada um lidando com a parte do pipeline para a qual é mais adequado. Normalmente, um data lake atua como a camada de ingestão de dados brutos, enquanto o warehouse fornece conjuntos de dados com curadoria e prontos para análise para os analistas e as ferramentas de negócios.

Um padrão comum é a arquitetura medalhão, que inclui:

  • Bronze: dados brutos ingeridos.

  • Prata: conjuntos de dados limpos e sem duplicação.

  • Ouro: tabelas agregadas e prontas para uso empresarial, usadas para relatórios.

Em muitas implementações, os dados bronze e prata residem no armazenamento do data lake, enquanto os conjuntos de dados ouro são fornecidos por um data warehouse.

A desvantagem dessa arquitetura em camadas é a dificuldade. Os dados são duplicados nos sistemas, os pipelines os movem e transformam, e as equipes precisam gerenciar a governança e os controles de acesso em vários locais. As organizações estão simplificando isso fazendo experiências com arquiteturas de lakehouse criadas em tecnologias como Delta Lake, Apache Iceberg ou Hudi. Esses sistemas adicionam recursos tradicionalmente associados a warehouses, como transações de atomicidade, consistência, isolamento e durabilidade (ACID) e imposição de esquema, diretamente no armazenamento do data lake.

Isso permite que as equipes usem uma plataforma em vez de duas. A eficácia dessa abordagem dependerá da complexidade da consulta e da maturidade da equipe que a opera.

Como escolher entre um data lake e um data warehouse?

A resposta certa depende de quem está usando os dados e o que eles precisam deles. Geralmente, as organizações têm várias equipes com requisitos diferentes.

Eis os pontos a considerar:

Equipes de business intelligence (BI) e de geração de relatórios

Se os principais consumidores dos dados forem analistas que criam dashboards em ferramentas como Looker, Tableau ou Metabase, um data warehouse costuma ser a melhor base. Essas ferramentas dependem de esquemas consistentes, métricas confiáveis e respostas rápidas às consultas.

Equipes de ciência de dados e machine learning

O treinamento de modelos geralmente requer conjuntos de dados brutos e de alto volume, como fluxos de eventos, texto, logs de comportamento ou outros formatos complexos. Os data lakes oferecem a flexibilidade de armazenar e explorar esses dados antes de serem transformados em tabelas estruturadas.

Equipes de engenharia que coletam dados em grande escala

Quando os sistemas geram bilhões de eventos todos os dias, um data lake costuma ser o primeiro destino mais prático. É mais barato, lida bem com esquemas em evolução e não exige que os sistemas upstream se adaptem a um modelo de dados predefinido.

Cargas de trabalho mistas

As organizações tendem a combinar os dois: um data lake para ingestão e armazenamento de dados brutos, um data warehouse para fornecer conjuntos de dados com curadoria e uma camada de transformação que conecta ambos. Nesse tipo de configuração, a questão é onde cada sistema se encaixa no pipeline de dados geral.

Como um provedor de pagamentos se encaixa na sua arquitetura de data lake ou data warehouse?

A abordagem legada para dados de pagamento é criar seu próprio pipeline usando uma interface de programação de aplicativos (API) para lidar com a paginação e os limites de requisições, gravar os resultados no armazenamento e manter a integração indefinidamente.

Isso funciona, mas é frágil. As alterações no esquema da API podem corromper os pipelines, os preenchimentos históricos exigem lógica adicional e os dados de pagamento incluem informações financeiras confidenciais. Isso significa que o direcionamento desses dados por meio de fornecedores terceirizados adicionais de extração, transformação e carregamento (ETL) cria uma exposição a riscos de segurança com a qual muitas equipes de finanças e de conformidade não se sentem confortáveis.

O Stripe Data Pipeline resolve diretamente esses desafios. Sendo um conector nativo criado e mantido pela Stripe, ele está disponível para os usuários atuais da Stripe e funciona sincronizando os dados da Stripe (transações, clientes, assinaturas, repasses) diretamente com um data warehouse ou um destino de armazenamento em nuvem.

Em comparação com conectores de terceiros, a abordagem nativa apresenta algumas vantagens:

  • Exaustividade dos dados: o Stripe Data Pipeline inclui dados históricos da sua conta, relatórios financeiros pré-criados e conjuntos de dados com curadoria que os conectores de terceiros geralmente não expõem ou que exigem configuração personalizada para apresentar.

  • Confiabilidade em escala: como o pipeline é mantido pela própria Stripe, ele rastreia automaticamente as alterações na API, lida com a evolução do esquema e considera casos específicos no modelo de dados da Stripe que os conectores externos às vezes deixam passar.

  • Menor exposição a riscos de segurança: os dados de transações financeiras se movem entre a Stripe e seu destino de armazenamento sem passar pela infraestrutura de um fornecedor intermediário, o que simplifica sua postura de segurança de dados.

Como o Stripe Data Pipeline pode ajudar

O Stripe Data Pipeline permite realizar a mesma análise em seu data warehouse, combinando seus dados da Stripe com outros dados comerciais. O Stripe Data Pipeline e o Stripe Sigma são alimentados pelos mesmos dados subjacentes da Stripe, mas o Data Pipeline facilita a visualização desses dados em conjunto com outros conjuntos de dados.

O Stripe Data Pipeline pode ajudar você a:

  • Sincronizar diretamente com seu data warehouse
    Os dados são transferidos para o Amazon Redshift, Snowflake ou Amazon S3 sem passar por um conector de terceiros, o que mantém dados financeiros sensíveis fora da infraestrutura de fornecedores adicionais.

  • Estabelecer uma única fonte de verdade
    Centralize seus dados da Stripe em um único local para acelerar o fechamento financeiro, identificar as principais formas de pagamento, aprimorar modelos de IA e muito mais.

  • Começar com no-code
    A conexão é configurada no Stripe Dashboard, no-code. Configure o Stripe Data Pipeline em poucos minutos e receba automaticamente seus dados e relatórios da Stripe de forma contínua em seu destino de armazenamento de dados.

Saiba mais sobre como o Stripe Data Pipeline pode ajudar você a desbloquear o potencial dos dados da sua empresa.

O conteúdo deste artigo é apenas para fins gerais de informação e educação e não deve ser interpretado como aconselhamento jurídico ou tributário. A Stripe não garante a exatidão, integridade, adequação ou atualidade das informações contidas no artigo. Você deve procurar a ajuda de um advogado competente ou contador licenciado para atuar em sua jurisdição para aconselhamento sobre sua situação particular.

Mais artigos

  • Algo deu errado. Tente novamente ou entre em contato com o suporte.

Vamos começar?

Crie uma conta e comece a aceitar pagamentos sem precisar de contratos nem dados bancários, ou fale conosco para criar um pacote personalizado para sua empresa.

Data Pipeline

O Stripe Data Pipeline envia todos os dados e relatórios atualizados da Stripe ao seu armazém de dados em poucos cliques.

Documentação do Data Pipeline

Entenda seus negócios com os dados da Stripe.