Data lakehouse
O que é data lakehouse?
Um data lakehouse é uma arquitetura aberta e nova de gerenciamento de dados que incorpora a flexibilidade, a economia e a escalabilidade de um data lake com o gerenciamento de dados e os recursos de transações ACID de um data warehouse, permitindo business intelligence (BI) e machine learning (ML) em todos os dados.
Data lakehouse: simplicidade, flexibilidade e baixo custo
Um data lakehouse é construído com um novo design de sistema aberto que implementa estruturas de dados e recursos de gerenciamento de dados semelhantes a data warehouse diretamente no armazenamento de baixo custo usado para data lakes. A integração do data lakehouse e do data warehouse em um único sistema elimina a necessidade de as equipes de dados acessarem vários sistemas e acelera o processamento de dados. Além disso, os data lakehouses fornecem às equipes dados úteis e atualizados que podem ser usados para projetos de data science, machine learning e análise de negócios.
Principais tecnologias que permitem data lakehouses
O data lakehouse é possibilitado por importantes melhorias tecnológicas, incluindo:
- Uma camada de metadados para data lakes
- Novo design de engine de query para execução SQL de alto desempenho em data lakes
- Acesso otimizado a ferramentas de data science e machine learning
Assim como o Delta Lake de código aberto, as camadas de metadados ficam sobre os formatos de arquivo abertos (como arquivos Parquet) e monitoram arquivos contidos em diferentes versões de tabela para fornecer recursos avançados de gerenciamento, como transações compatíveis com ACID. As camadas de metadados fornecem outros recursos comuns em data lakehouses, como compatibilidade com E/S de streaming (sem necessidade de passagem de mensagem como Kafka), acesso a versões de tabela mais antigas, aplicação e evolução de esquema, validação de dados etc. O desempenho é um dos principais motivos pelos quais os data warehouses existem em arquiteturas de duas camadas e é a chave para tornar os data lakehouses a principal arquitetura de dados para empresas. Os data lakes que usam armazenamentos de objetos de baixo custo têm sido historicamente lentos para acessar, mas o novo design do engine de queries do Lakehouse permite análises de SQL de alto desempenho. Essas otimizações incluem cache de dados ativos em RAM/SSD (que podem ser transcodificados para um formato mais eficiente), otimização de layouts de dados para dados acessados simultaneamente em clusters, estruturas de dados auxiliares, como estatísticas e índices, e execução vetorizada em CPUs modernas. Ao integrar essas tecnologias, os data lakehouses obtêm desempenho em grandes conjuntos de dados comparável a data warehouses populares (com base em benchmarks TPC-DS). Os formatos de dados abertos usados em data lakehouses, como Parquet, facilitam o acesso aos dados de lakehouse. Data scientists e engenheiros de machine learning podem usar pandas, TensorFlow, PyTorch e outras ferramentas populares no ecossistema DS/ML que já têm acesso a fontes como Parquet e ORC. O Spark DataFrames fornece uma interface declarativa para esses formatos abertos, permitindo maior otimização de E/S. Além disso, o data lakehouse também é equipado com funções que aumentam a reprodutibilidade do machine learning, como histórico de auditoria e dados históricos. Para obter mais informações sobre a evolução da tecnologia que sustenta a mudança para data lakehouses, consulte o relatório CIDR Lakehouse: uma nova geração de plataformas abertas que unificam armazenamento de dados e análise avançada e o trabalho de pesquisa Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores.
História das arquiteturas de dados
Histórico de data warehouses
Os data warehouse têm uma longa história em aplicações de suporte à decisão e business intelligence, embora não sejam adequados ou sejam caros para lidar com dados não estruturados, dados semiestruturados e dados com alta variedade, velocidade e volume.
Surgimento de data lakes
Os data lakes surgiram para lidar com dados brutos em uma variedade de formatos em armazenamento barato para data science e machine learning, mas carecem de recursos críticos do mundo do data warehouse: eles não são compatíveis com transações, não garantem a qualidade dos dados e sua falta de consistência e isolamento torna quase impossível misturar jobs de anexação e leitura, batch e streaming.
Arquitetura de dados comum de duas camadas
Como consequência, as equipes de dados precisavam reunir esses sistemas para habilitar BI e ML em dados em data lakes e data warehouses. Mas o resultado são dados duplicados, custos extras de infraestrutura, desafios de segurança e altos custos operacionais. Em uma arquitetura de dados de duas camadas, primeiramente se faz o processo ETL dos dados do banco de dados operacional para o data lake. Esse data lake armazena dados corporativos em armazenamento de objetos de baixo custo. Os dados são armazenados em formatos compatíveis com ferramentas comuns de machine learning, mas geralmente são mal organizados e mantidos. Em seguida, o processo ETL é executado novamente em um pequeno segmento de seus dados críticos de negócios, e os dados são carregados em seu data warehouse para business intelligence e análise de dados. Uma arquitetura de duas camadas requer manutenção regular devido a várias etapas de ETL, e os dados podem estar obsoletos e inutilizáveis. Analistas de dados e data scientists estão muito preocupados com essa questão, de acordo com uma pesquisa recente da Kaggle e Fivetran. Saiba mais sobre os problemas comuns com a arquitetura de duas camadas.
Recursos adicionais
- O que é lakehouse? - Blog
- Arquitetura de Lakehouse: da visão à realidade
- Introdução ao lakehouse e SQL analytics
- Lakehouse: uma nova geração de plataformas abertas que unificam armazenamento de dados e análise avançada
- Delta Lake: A base do seu lakehouse
- Plataforma Databricks Lakehouse
- Data Brew Vidcast: 1ª temporada sobre data lakehouses
- A ascensão do paradigma lakehouse
- Building the Data Lakehouse, de Bill Inmon
- The Data Lakehouse Platform for Dummies