Data Lake e Lakehouse
Nesta página é destinada a compreensão do conceito de Data Lake e Lakehouse
Escrito por Matheus Sampaio
O que é Data Lake e Lakehouse
Com a Web 3.0, surgiram novos formatos de arquivos além dos estruturados, como os não estruturados (imagens, textos, vídeos) e semi-estruturados (JSON, XML). Dessa forma, o armazenamento de dados existente à época não comportava esses tipos de dados. Com o advento desses novos tipos de dados, surgiu também outro problema: como processá-los de forma eficiente e rápida. Foi então que surgiu o Hadoop. Nesse ecossistema, existia o HDFS, que era um armazenamento de objetos distribuído entre os clusters, resiliente e tolerante a falhas. Na época, ainda não havia sido cunhado o termo "Data Lake".
Data Lake
O termo Data Lake foi abordado por James Dixon, que comparou os Data Warehouses a uma fonte de dados limpos e estruturados, enquanto o Data Lake seria um repositório onde os dados seriam armazenados em seus formatos proprietários. Isso surgiu como uma forma de baratear o custo de armazenamento.
O Data Lake é composto por zonas que permitem vários modos de armazenamento e processamento de dados. Elas são essenciais para manter a ordem e aumentar a eficiência das operações de dados no ecossistema de Big Data, desempenhando funções específicas como armazenamento de dados brutos, limpeza, transformação e exploração, cada uma facilitando um estágio diferente do ciclo de vida dos dados.
Zonas de um Data Lake
As zonas do Data Lake são essencialmente três, mas podem ser mais, de acordo com o desenho arquitetural desenvolvido junto ao Arquiteto de Dados:
Raw Zone: Zona inicial ou de pouso, onde o dado chega em seu formato original (CSV, Excel, JSON, XML).
Trusted Zone: Zona intermediária, onde os dados já passaram por algumas limpezas e normalizações. Geralmente, aqui já se trabalha com algum formato comprimido que permita a inferência de metadados (Parquet, Avro, ORC).
Refined Zone: Zona final, onde os dados são disponibilizados para as aplicações analíticas, como visualizações de dados (Power BI, Looker, Tableau) e aplicações de machine learning (modelos supervisionados / semi-supervisionados).
Importante ressaltar que a segurança e a governança perpassam todas as zonas de forma a garantir a gestão do Data Lake, caso contrário, virará um data swamps (Pântano).
Lakehouse
Lakehouse é uma evolução do Data Lake, que incorpora o melhor do Data Warehouse. Esse conceito foi criado pela empresa Databricks em meados de 2018. Nesse padrão arquitetural, busca-se unir o que há de melhor entre as duas arquiteturas de dados, utilizando a arquitetura multi-hop (arquitetura medalhão).
Arquitetura Multi-HOP
A arquitetura multi-hop tem as seguintes camadas:
Raw Zone: Zona de pouso dos dados, onde eles chegam em seu formato proprietário, assim como no Data Lake.
Bronze Zone (Bronze): Zona de replicação dos dados para um formato de tabela (Delta, HUDI), garantindo a compressão dos dados e a propriedade ACID.
Silver Zone (Prata): Zona onde são realizados alguns tratamentos de negócios (corporativos), como a união de tabelas e pequenas limpezas nos dados que estão na Bronze. Aqui, são trabalhadas as chamadas tabelas de domínio (informações sobre determinada área da empresa, bem similares a um DM).
Gold Zone (Ouro): Zona final de transformações de dados, onde são aplicadas regras de negócios e garantida a qualidade dos dados para consumo em aplicações de BI e Analytics. É nesta camada que se aplicam as modelagens tradicionais de Kimball e Inmon, como star-schema, snowflake ou OBT.
Características presentes em um Datalake e Lakehouse
Orientado por zonas: O Data Lake possui sua divisão em zonas (camadas) para suportar os variados tipos de dados.
Escalabilidade: O Data Lake e o Lakehouse garantem alta escalabilidade, sem abrir mão da segurança.
Custo-efetividade: Esse modelo de solução oferece melhores custos, principalmente garantindo a compressão de dados.
Variação temporal: Os dados armazenados refletem um acontecimento em determinado tempo, suportando decisões e análises históricas.
Flexibilidade: Esse modelo de arquitetura suporta diferentes tipos de dados e tem uma flexibilidade maior comparado aos Data Warehouses, que requerem esquemas pré-definidos, facilitando a adição de novos dados e a integração com sistemas diversos.
Acessibilidade: É possível garantir acesso a todos os usuários, desde o consumidor final até aplicações de machine learning.
Criação e Manutenção de um Data Lake e Lake House
Quando se trabalha com Data Lake ou Lakehouse, diferente dos Data Warehouses, utilizam-se técnicas de ELT. O uso do ELT é aplicado porque o objetivo final é manter o dado em seu formato original e tratá-lo conforme a demanda.
Comparativo entre ETL e ELT
Na imagem, conseguimos distinguir que os dados são tratados na hora que chegam na stage. Já no ETL, os dados são replicados no Data Lake ou Lakehouse e só na última camada sofrem transformações para se adequar às regras de negócio.
Referências
Overview of DW and Data Lake | MDPI
Evolution to the Data Lakehouse | Databricks
What is a Data Lakehouse? | Databricks
Siglas
ACID - Atomicity, Consistency, Isolation, Durability
AWS - Amazon Web Services
BI - Business Intelligence
CSV - Comma-separated values
DM - Data Mart
DW - Data Warehouse
ELT - Extract, Load and Transform
ETL - Extract, Transform and Load
HDFS - Hadoop File System
HUDI - Hadoop Upserts Deletes and Incrementals
JSON - JavaScript Object Notation
OBT - One Big Table
ORC - Optimized Row Columnar
XML - Extensible Markup Language
Atualizado
Isto foi útil?