Data Lake e Lakehouse
Nesta página é destinada a compreensão do conceito de Data Lake e Lakehouse
Atualizado
Isto foi útil?
Nesta página é destinada a compreensão do conceito de Data Lake e Lakehouse
Atualizado
Isto foi útil?
Escrito por
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".
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.
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 é 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).
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.
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.
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.
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.
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