O que é um data lakehouse?

Um data lakehouse é um sistema de gerenciamento de dados que combina os benefícios de data lakes e data warehouses. Este artigo descreve o padrão arquitetônico do lakehouse e o que você pode fazer com ele no Azure Databricks.

A diagram of the lakehouse architecture using Unity Catalog and delta tables.

Para que um data lakehouse é usado?

Um data lakehouse fornece recursos escalonáveis de armazenamento e processamento para organizações modernas que desejam evitar sistemas isolados para processar cargas de trabalho diferentes, como machine learning (ML) e business intelligence (BI). Um data lakehouse pode ajudar a estabelecer uma única fonte de verdade, eliminar custos redundantes e garantir a atualização de dados.

Os data lakehouses geralmente usam um padrão de design de dados que melhora, enriquece e refina os dados de forma incremental à medida que eles passam por camadas de preparo e transformação. Cada camada de lakehouse pode incluir uma ou mais camadas. Esse padrão é frequentemente conhecido como uma arquitetura de medallion. Para obter mais informações, consulte O que é arquitetura medallion do Lakehouse?

Como funciona o lakehouse do Databricks?

O Databricks é criado no Apache Spark. O Apache Spark habilita um mecanismo massivamente escalonável que é executado em recursos de computação separados do armazenamento. Para obter mais informações, confira Apache Spark no Azure Databricks

O Databricks Lakehouse usa duas tecnologias importantes adicionais:

  • Delta Lake: uma camada de armazenamento otimizada que dá suporte a transações ACID e imposição de esquema.
  • Catálogo do Unity: uma solução de governança unificada e refinada para dados e IA.

Ingestão de dados

Na camada de ingestão, os dados em lote ou streaming chegam de uma variedade de fontes e em uma variedade de formatos. Essa primeira camada lógica fornece um lugar para que esses dados cheguem em formato bruto. Ao converter esses arquivos em tabelas Delta, você pode usar as funcionalidades de imposição de esquema do Delta Lake para verificar se há dados ausentes ou inesperados. Você pode usar o Catálogo do Unity para registrar tabelas de acordo com o modelo de governança de dados e os limites de isolamento de dados necessários. O Catálogo do Unity permite que você acompanhe a linhagem de seus dados à medida que são transformados e refinados, além de aplicar um modelo unificado de governança para manter os dados confidenciais privados e seguros.

Processamento, curadoria e integração de dados

Depois de verificado, você pode começar a coletar e refinar seus dados. Cientistas de dados e profissionais de machine learning frequentemente trabalham com dados nesta fase para começar a combinar ou criar novos recursos e concluir a limpeza de dados. Depois que seus dados tiverem sido completamente limpos, eles poderão ser integrados e reorganizados em tabelas projetadas para atender às suas necessidades comerciais específicas.

Uma abordagem de esquema na gravação, combinada com as funcionalidades de evolução do esquema Delta, significa que você pode fazer alterações nessa camada sem necessariamente ter que regravar a lógica downstream que fornece dados aos usuários finais.

Serviço de dados

A camada final fornece dados limpos e enriquecidos para os usuários finais. As tabelas finais devem ser projetadas para fornecer dados para todos os casos de uso. Um modelo de governança unificada significa que você pode acompanhar a linhagem de dados de volta à única fonte de verdade. Os layouts de dados, otimizados para tarefas diferentes, permitem que os usuários finais acessem dados para aplicativos de aprendizado de máquina, engenharia de dados e business intelligence e relatórios.

Para saber mais sobre o Delta Lake no Azure Databricks, confira O que é o Delta Lake? Para saber mais sobre o Catálogo do Unity, confira O que é o Catálogo do Unity?

Funcionalidades de um lakehouse do Databricks

Um lakehouse criado com o Databricks substitui a dependência atual de data lakes e data warehouses para empresas de dados modernas. Algumas das principais tarefas que você pode executar incluem:

  • Processamento de dados em tempo real: processar dados de streaming em tempo real para análise e ação imediatas.
  • Integração de dados: unificar seus dados em um único sistema para habilitar a colaboração e estabelecer uma única fonte de verdade para a sua organização.
  • Evolução do esquema: modificar esquema de dados ao longo do tempo para se adaptar às necessidades comerciais em mudança sem interromper os pipelines de dados existentes.
  • Transformações de dados: usar o Apache Spark e o Delta Lake traz velocidade, escalabilidade e confiabilidade aos seus dados.
  • Análise de dados e relatórios: executar consultas analíticas complexas com um mecanismo otimizado para cargas de trabalho de data warehouse.
  • Aprendizado de máquina e IA: aplicar técnicas de análise avançada a todos os seus dados. Use a ML para enriquecer seus dados e dar suporte a outras cargas de trabalho.
  • Controle de versão e linhagem de dados: manter o histórico de versões para conjuntos de dados e linhagem de rastreamento para garantir a procedência e a rastreabilidade dos dados.
  • Governança de dados: usar um único sistema unificado para controlar o acesso aos seus dados e executar auditorias.
  • Compartilhamento de dados: Facilitar a colaboração permitindo o compartilhamento de conjuntos de dados, relatórios e insights coletados entre equipes.
  • Análise operacional: monitorar métricas de qualidade de dados, métricas de qualidade do modelo e descompasso aplicando aprendizado de máquina aos dados de monitoramento do lakehouse.

Comparação entre Lakehouse, Data Lake e Data Warehouse

Os data warehouses capacitam as decisões de BI (business intelligence) há cerca de 30 anos, tendo evoluído como um conjunto de diretrizes de design para sistemas que controlam o fluxo de dados. Os data warehouses corporativos otimizam consultas para relatórios de BI, mas podem levar minutos ou até horas para gerar resultados. Projetados para dados que geralmente não são alterados com alta frequência, os data warehouses procuram evitar conflitos entre consultas em execução simultânea. Muitos data warehouses dependem de formatos proprietários, o que geralmente limita o suporte para machine learning. O armazenamento de dados no Azure Databricks aproveita as funcionalidades de um lakehouse do Databricks e do SQL do Databricks. Para obter mais informações, consulte O que é data warehousing no Azure Databricks?.

Impulsionados pelos avanços tecnológicos em armazenamento de dados e pelo aumento exponencial dos tipos e volumes de dados, os data lakes passaram a ser amplamente usados na última década. Os data lakes armazenam e processam dados de modo barato e eficiente. Os data lakes geralmente são definidos como opostos aos data warehouses: um data warehouse fornece dados limpos e estruturados para análise de BI, enquanto um data lake armazena dados de qualquer natureza e formato de modo permanente e barato. Muitas organizações usam data lakes para ciência de dados e machine learning, mas não para relatórios de BI devido a essa natureza sem validação.

O data lakehouse combina os benefícios dos data lakes e data warehouses e oferece:

  • Acesso aberto e direto aos dados armazenados em formatos de dados padrão.
  • Protocolos de indexação otimizados para machine learning e ciência de dados.
  • Baixa latência de consulta e alta confiabilidade para BI e análise avançada.

Ao combinar uma camada de metadados otimizada com os dados validados armazenados em formatos padrão no armazenamento de objetos em nuvem, o data lakehouse permite que cientistas de dados e engenheiros de ML criem modelos usando os mesmos relatórios de BI acionados por dados.

Próxima etapa

Para saber mais sobre os princípios e as melhores práticas para implementar e operar um lakehouse usando o Databricks, consulte Introdução ao data lakehouse bem arquitetado