
Quando o assunto é armazenar big data, as duas opções mais populares são data lakes e data warehouses. Data warehouses são usados para analisar dados estruturados arquivados, enquanto data lakes armazenam grandes volumes de dados de todos os tipos de estrutura.
Neste post, vamos detalhar as diferenças entre os dois. A tabela abaixo resume essas diferenças em cinco categorias.
| Data lake | Data warehouse | |
|---|---|---|
| Tipo de dado | Dados não estruturados e estruturados de várias fontes de dados da empresa | Dados históricos estruturados para se ajustar a um esquema de banco de dados relacional |
| Propósito | Armazenamento de big data com melhor custo-benefício | Análises para decisões de negócio |
| Usuários | Cientistas e engenheiros de dados | Analistas de dados e analistas de negócio |
| Tarefas | Armazenar dados e realizar análises de big data, como deep learning e análises em tempo real | Consultas geralmente somente leitura para agregar e resumir dados |
| Tamanho | Armazena todos os dados que possam ser usados — pode chegar a petabytes! | Armazena apenas os dados relevantes para a análise |
Tipo de dado
Limpar dados é uma habilidade essencial em dados, porque os dados naturalmente chegam bagunçados e imperfeitos. Dados brutos que ainda não foram limpos são chamados de dados não estruturados — que representam a maior parte dos dados no mundo, como fotos, históricos de chat e arquivos PDF. Já os dados não estruturados que foram limpos para se adequar a um esquema, organizados em tabelas e definidos por tipos e relacionamentos, são chamados de dados estruturados. Essa é a diferença fundamental entre lakes e warehouses.
Data lakes armazenam dados de uma grande variedade de fontes, como dispositivos de IoT, streams de redes sociais em tempo real, dados de usuários e transações de aplicativos web. Às vezes esses dados são estruturados, mas com frequência estão bem bagunçados, pois são ingeridos diretamente da fonte. Já os data warehouses contêm dados históricos que foram limpos para se adequar a um esquema relacional.
Propósito
Data lakes são usados para armazenar grandes volumes de dados de muitas fontes com baixo custo. Permitir dados de qualquer estrutura reduz custos porque esse formato é mais flexível e escalável, já que os dados não precisam se encaixar em um esquema específico. Por outro lado, dados estruturados são mais fáceis de analisar, pois estão limpos e seguem um esquema uniforme para consultas. Ao restringir os dados a um esquema, data warehouses são muito eficientes para analisar dados históricos e embasar decisões específicas.
Você vai notar que data lakes e data warehouses se complementam em um fluxo de dados. Os dados ingeridos pela empresa são armazenados imediatamente em um data lake. Quando surge uma pergunta de negócio específica, uma parte dos dados relevantes é extraída do lake, limpa e então exportada para um data warehouse.
Usuários
Data lakes e data warehouses são úteis para perfis diferentes. Analistas de dados e analistas de negócio normalmente trabalham em data warehouses que reúnem dados claramente pertinentes e já processados para suas atividades. Data warehouses exigem um nível menor de conhecimento em programação e ciência de dados para uso.
Data lakes são configurados e mantidos por engenheiros de dados, que os integram a pipelines de dados. Cientistas de dados trabalham mais de perto com data lakes, já que eles reúnem dados com escopo mais amplo e mais atual.
Tarefas
Engenheiros de dados usam data lakes para armazenar dados que estão chegando. Mas data lakes não servem apenas para armazenamento. Lembre-se: dados não estruturados são mais flexíveis e escaláveis, o que muitas vezes é melhor para análises de big data. Essas análises podem ser executadas em data lakes usando serviços como Apache Spark e Hadoop. Isso é especialmente verdadeiro para deep learning, que exige escalabilidade conforme cresce a quantidade de dados de treinamento.
Data warehouses costumam operar em modo somente leitura para os usuários analistas, que principalmente consultam e agregam dados para gerar insights. Como os dados já estão limpos e arquivados, geralmente não há necessidade de inserir ou atualizar registros.
Tamanho
Não é surpresa que data lakes sejam muito maiores, porque retêm todos os dados que possam ser relevantes para a empresa. Data lakes frequentemente chegam a petabytes — isso é 1.000 terabytes! Data warehouses são muito mais seletivos quanto ao que é armazenado.
Conclusão
Ao decidir entre um data lake ou um data warehouse, percorra essas categorias e veja qual atende melhor ao seu caso de uso. Se você quer se aprofundar nas diferenças ou aprender a projetar data warehouses, confira nosso curso de Database Design!
E lembre-se: às vezes você vai precisar combinar as duas soluções de armazenamento. Isso é ainda mais verdade ao construir pipelines de dados. Veja isso na prática nos cursos Introduction to Data Engineering e Building Data Engineering Pipelines in Python.


