Data Warehouse, Data Lake e Data Lakehouse.


Neste artigo trago uma breve análise sobre a evolução das arquiteturas de armazenamento de dados, um tópico fundamental para engenheiros e desenvolvedores na era da informação. Organizações modernas geram volumes massivos de dados de diversas fontes, como bancos de dados, aplicações e redes sociais. A capacidade de armazenar, gerenciar e processar esses dados de forma eficiente é crítica para o sucesso de qualquer solução de dados. Para isso, ferramentas como Data Warehouse, Data Lake e Data Lakehouse tornaram-se essenciais.
Vamos aprofundar nas características e propósitos de cada um, elucidando suas diferenças para um entendimento claro.
Data Warehouse: O Repositório Otimizado para Análises SQL
O Data Warehouse (também conhecido como Enterprise Data Warehouse - EDW) é um sistema de gerenciamento de banco de dados relacional. Seu propósito principal é atuar como um repositório centralizado que agrega dados de diversas fontes, como arquivos CSV, dados de vendas e sistemas CRM. No entanto, ele é especificamente projetado para armazenar apenas dados estruturados.
O processo de carregamento de dados em um Data Warehouse segue a metodologia ETL (Extract, Transform, Load). Isso significa que os dados são primeiramente extraídos de suas fontes originais, depois transformados e padronizados de acordo com as necessidades de negócio, e somente então carregados no Data Warehouse. Uma vez transformados e curados, esses dados são disponibilizados para usuários finais para análises e relatórios com base em SQL otimizado.
Suas características incluem:
Propósito Principal: Otimizado para análises SQL.
Estrutura dos Dados: Armazena apenas dados estruturados.
Custo de Armazenamento: Alto, pois exige organização e estruturação prévia de todos os dados antes do armazenamento.
Performance: Alta, devido à organização meticulosa dos dados, o que facilita o acesso rápido.
Flexibilidade (Esquema): Suporta um esquema fixo ('schema on write'). Isso significa que a estrutura e o esquema dos dados devem ser definidos antes de serem armazenados.
Escalabilidade: Difícil e cara de escalar.
Data Lake: O Repositório de Dados Brutos para IA e Machine Learning
Em contraste, o Data Lake funciona como um repositório centralizado que agrega dados de várias fontes em seu formato bruto e original. A grande diferença aqui é que ele pode armazenar qualquer tipo de dado: estruturado, não estruturado ou semi-estruturado. Os dados são simplesmente "despejados" diretamente no Data Lake.
O processo de tratamento de dados no Data Lake utiliza a metodologia ELT (Extract, Load, Transform). Os dados são primeiro extraídos e carregados no Data Lake em sua forma bruta, e a transformação ocorre posteriormente, conforme a necessidade do negócio. Os dados transformados e curados são então disponibilizados para usuários finais, principalmente para casos de uso de Inteligência Artificial (IA) e Machine Learning (ML).
Suas características incluem:
Propósito Principal: Usado principalmente para armazenar dados brutos, ideal para IA e ML.
Estrutura dos Dados: Suporta qualquer tipo de dado: estruturado, não estruturado ou semi-estruturado.
Custo de Armazenamento: Baixo, pois não há necessidade de organizar ou estruturar os dados antes do armazenamento.
Performance: Baixa, pois os dados são armazenados de forma desorganizada, o que pode dificultar o acesso rápido.
Flexibilidade (Esquema): Suporta esquema flexível ('schema on read'). O esquema não precisa ser definido antes do armazenamento; ele pode ser imposto no momento da leitura ou consulta dos dados.
Escalabilidade: Fácil e barata de escalar.
Data Lakehouse: A Solução Híbrida e Inovadora
O Data Lakehouse representa uma solução inovadora que combina o melhor dos dois mundos: a flexibilidade e escalabilidade do Data Lake com a capacidade de gerenciamento de dados do Data Warehouse. Ele aceita todos os tipos de dados (estruturados, não estruturados ou semi-estruturados) em seu formato bruto.
A inovação reside na adição de uma camada de metadados, que fornece estrutura e esquema aos dados, habilitando recursos de gerenciamento e governança que tipicamente pertenciam aos Data Warehouses. Os dados no Data Lakehouse podem ser processados com diversas ferramentas e linguagens, incluindo SQL e Python. Isso o torna ideal para análises híbridas, abrangendo tanto análises tradicionais quanto casos de uso de ML.
Suas características incluem:
Propósito Principal: Utilizado para análises híbridas, suportando tanto análises tradicionais quanto ML.
Estrutura dos Dados: Suporta todos os tipos de dados.
Custo de Armazenamento: Baixo, utilizando armazenamento de objetos mais barato.
Performance: Alta, aproximando-se da performance do Data Warehouse.
Flexibilidade (Esquema): Suporta ambos os tipos de esquema (fixo e flexível), oferecendo total flexibilidade.
Escalabilidade: Fácil e barata de escalar.
Conclusão
Compreender as diferenças e os propósitos específicos do Data Warehouse, Data Lake e Data Lakehouse é fundamental para qualquer engenheiro de dados ou arquiteto de soluções. Cada sistema possui forças únicas e é adequado para diferentes fluxos de trabalho. A escolha da arquitetura correta depende das necessidades de negócio, dos tipos de dados envolvidos, dos requisitos de performance e do orçamento disponível. A habilidade de discernir qual ferramenta usar e quando é um pilar para a construção de soluções de dados robustas, escaláveis e eficientes.
Créditos
Photo by Shubham Dhage na Unsplash
Subscribe to my newsletter
Read articles from Anderson Braz directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Anderson Braz
Anderson Braz
I'm Solutions Specialist and Data Engineer. Also i'm an Enthusiast in Open Software, Technologies and AI.