Data Become

logo data become

Data Lakehouse: Entenda os principais conceitos

Em um mundo digitalizado, a quantidade de dados que uma organização precisa gerenciar, armazenar e processar é cada vez maior. Neste artigo você vai conhecer, de forma resumida, o conceito de Data Lakehouse  e suas principais características na otimização do seu ambiente de dados.

A história da computação já passou por diversos paradigmas e arquiteturas para tratamento e consumo de dados, desde simples bases de dados à Data Warehouses e Data Lakes.Uma nova e importante arquitetura proposta é o Data Lakehouse. 

O Data Lakehouse nada mais é do que uma unificação, de forma open source, destes dois conceitos com a inclusão de novas e importantes features. Definindo o conceito de Data Lakehouse:

“O Data Lakehouse é uma nova definição de gerenciamento e arquitetura de dados que combina a flexibilidade e o baixo custo de armazenamento de um Data Lake com a capacidade de gerenciamento e aplicação de transações ACID de um Data Warehouse, o que possibilita a execução de BI (Business Inteligence) e Machine Learning em toda camada de dados”.

Databricks

Para começarmos a entender o conceito da arquitetura Lakehouse é necessário termos uma base sobre duas arquiteturas anteriores.

Data Warehouse

Um Data warehouse ou “Armazém de dados” é um sistema de armazenamento centralizado, reunindo todas as principais fontes de dados de uma organização como:

  • Bancos de Dados
  • Planilhas
  • Sistemas de CRM
  • Logs e aplicações web entre outras.

O objetivo principal de um Data Warehouse é fornecer uma visão consolidada, unificada e de fácil acesso aos dados para uma tomada de decisão (Business Intelligence).

Um Data Warehouse é construído utilizando técnicas de extração, transformação e carga (ETL) para coletar dados de diferentes fontes e disponibilizá-los para análise. As ferramentas de business intelligence (BI) são frequentemente usadas para acessar e explorar os dados do Data Warehouse, permitindo que os usuários executem consultas complexas, criem relatórios, visualizações e análises para obter insights valiosos e apoiar a tomada de decisões estratégicas.

Em um Data Warehouse, costumamos utilizar um sistema gerenciador de banco de dados relacional para armazenar os dados, o que proporciona um ganho de performance em tempo de consulta.

Um outro ponto positivo deste tipo de arquitetura é a possibilidade de execução de transações de forma ACID:

  • Atomicidade: Uma transação é única e indivisível – ou a transação é completamente realizada sem erros (commit) ou todas as alterações feitas até aquele momento são desfeitas (rollback).
  • Consistência: Garante que todas as regras de integridade, restrições e validações definidas no banco de dados são respeitadas durante a execução.
  • Isolamento: O resultado de uma transação é independente de outras transações concorrentes em execução no mesmo momento, evitando que uma quebre a outra.
  • Durabilidade: Mesmo em caso de falha ou reinício do sistema os dados persistidos estarão disponíveis em seu estado correto, as  alterações gravadas no banco tornam-se permanentes mas podem ser recuperadas.

As transações ACID são fundamentais para garantir a confiabilidade, integridade e consistência dos dados

Alguns pontos negativos em uma arquitetura de Data Warehouse são:

  • Alto custo financeiro para manter a infraestrutura à medida que o volume de dados aumenta.
  • Limitado a uma estrutura de dados relacional/estruturada, é sempre necessário uma padronização de qualquer origem não estruturada para esta forma.

Data Lake

Um Data Lake é um repositório centralizado e flexível para armazenar dados brutos em sua forma original. Ele permite a captura, armazenamento e análise de uma ampla variedade de tipos de dados, oferecendo maior agilidade e capacidade de lidar com grandes volumes de informações não estruturada como:

  • Dispositivos Iot
  • Dados de redes sociais
  • Logs de Servidores
  • Transações entre outros

Por utilizar sistemas de arquivos distribuídos para armazenamento de dados, os Data Lakes costumam ser um opção muito mais barata do que os Data Warehouse para o processamento e guarda de grandes volumes de dados.

Além da economia de custo, a principal vantagem do armazenamento de forma distribuída é a possibilidade de processamento também de forma distribuída, com ajuda de ferramentas de Big Data como Apache Spark ou Mapreduce, o que traz escala em projetos com grandes volumes de dados ou em tempo real. 

Por armazenar dados em seu formato original e proporcionar um ambiente de execução escalável o Data Lake se torna um ambiente ideal para execução de projetos de Machine learning ou de Analytics em geral.

Mas nem tudo são flores na arquitetura Data Lake. 

Por não impor regras e validações no momento de gravação de uma nova fonte de dados alguns problemas de integridade, confiabilidade ou consistência dos dados podem ocorrer. Fontes de dados que originalmente seguiam um determinado layout podem ser alteradas com o tempo, o que pode quebrar o processo de ingestão, se não bem preparado.

Outro ponto importante é a necessidade de catalogalização dos dados. Centralizar todos os dados de uma organização em um único ambiente, em diferentes tipos de dados, por vezes pode acarretar em certa confusão sobre qual fonte considerar ou onde encontrar cada fonte. Costumamos chamar um Data Lake com pouca organização de Data Swamp, ou pântano de dados.

Sobre performance – muitas vezes, ler dados de fontes não tão estruturadas como em um Warehouse pode acarretar em problemas de performance, apesar de um Data Lake dar suporte ao processamento em grande volume de forma distribuída nem sempre isso pode indicar melhor velocidade.

Data Lakehouse

A arquitetura Data Lakehouse junta o que há de melhor nos conceitos de Data Lake e Data Warehouse, resolvendo as principais limitações de cada uma. Através do Data Lakehouse podemos implementar estruturas e gerenciamento de dados semelhantes a um Data Warehouse em um ambiente de baixo custo e flexível como o de um Data Lake. 

As principais características herdadas que possuímos em um Data Lakehouse são:

  • Suporte a Transações ACID
  • Governança e Validação/Aplicação de Schema na base de dados.
  • Suporte ao BI 
  • Suporte a dados estruturados e não estruturados.
  • Aplicações de Streaming de dados
  • Formato open source e integração com as principais fontes e tipos de dados também open-source.

Sim, como uma de suas principais características a arquitetura Data Lakehouse é desenvolvida e baseada em diversas ferramentas e formatos open-source, o que possibilita, ao longo do tempo, não só avanços e melhorias contínuas por parte de toda comunidade, mas também facilidade de integração com outros ambiente e baixo custo.

Uma destas ferramentas que compõem um Data Lakehouse é o formato e camada de armazenamento Delta Lake. Preparamos um artigo completo em nosso blog sobre este framework que é o coração de todo o sistema de um Data Lakehouse.

Descrição da arquitetura Data Lakehouse
fonte: blog Databricks

Conclusão

O universo de Engenharia de dados tem avançado rapidamente nos últimos anos graças a redução dos custos computacionais. Nem sempre novas tecnologias refletem novas formas de pensar, muitas vezes apenas juntam fontes de conhecimento já existente, otimizando ou ampliando a ideia original.

O conceito de Data Lakehouse é mais um entre estas várias junções de conceitos. Apesar de atualmente ser uma arquitetura open-source vemos muitas empresas privadas trabalhando de forma entusiasmada na melhoria do conceito, empresas como Databricks, Snowflake entre outras.

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Scroll to Top