Ir para o conteúdo principal

Técnicas e implementação de modelagem de data warehouse na Databricks Lakehouse Platform

Usando Data Vaults e Esquemas Estrela no Lakehouse

Data Warehousing Modeling Techniques and Their Implementation on the Databricks Lakehouse Platform

Published: June 24, 2022

Soluções9 min de leitura

O lakehouse é um novo paradigma de plataforma de dados que combina os melhores recursos de data lakes e data warehouses. Ele foi projetado como uma plataforma de dados de grande escala e nível empresarial que pode abrigar muitos casos de uso e produtos de dados. Ele pode servir como um repositório de dados corporativo único e unificado para todos os seus:

  • domínios de dados,
  • casos de uso de transmissão em tempo real,
  • data marts,
  • data warehouses díspares,
  • Feature Stores de ciência de dados e sandboxes de ciência de dados, e
  • Sandboxes departamentais de analítica de autoatendimento.

Dada a variedade dos casos de uso — diferentes princípios de organização de dados e técnicas de modelagem podem se aplicar a diferentes projetos em um lakehouse. Tecnicamente, a Databricks Lakehouse Platform pode suportar muitos estilos diferentes de modelagem de dados. Neste artigo, nosso objetivo é explicar a implementação dos princípios de organização de dados Bronze/Silver/ouro do lakehouse e como as diferentes técnicas de modelagem de dados se encaixam em cada camada.

O que é Data Vault?

Um Data Vault é um padrão de design de modelagem de dados mais recente usado para criar data warehouses para analítica em escala empresarial em comparação com os métodos de Kimball e Inmon.

Os Data Vaults organizam os dados em três tipos diferentes: hubs, links e satélites. Hubs representam as principais entidades de negócios, links representam os relacionamentos entre hubs e satélites armazenam atributos sobre hubs ou links.

O Data Vault foca no desenvolvimento ágil de data warehouse, onde escalabilidade, integração de dados/ETL e velocidade de desenvolvimento são importantes. A maioria dos clientes tem uma zona de destino, uma zona de Vault e uma zona de data mart que correspondem aos paradigmas organizacionais do Databricks das camadas Bronze, Silver e ouro. O estilo de modelagem Data Vault de tabelas de hub, link e satélite geralmente se encaixa bem na camada Silver do Lakehouse da Databricks.

Saiba mais sobre a modelagem de Data Vault em Data Vault Alliance.

Um diagrama que mostra como a modelagem de Data Vault funciona, com hubs, links e satellites se conectando.
Um diagrama que mostra como a modelagem de Data Vault funciona, com hubs, links e satellites se conectando.

O que é Modelagem Dimensional?

A modelagem dimensional é uma abordagem ascendente para projetar data warehouses a fim de otimizá-los para analítica. Modelos dimensionais são usados para desnormalizar dados de negócios em dimensões (como tempo e produto) e fatos (como transações em valores e quantidades), e diferentes áreas de assunto são conectadas por meio de dimensões conformadas para navegar para diferentes tabelas de fatos.

A forma mais comum de modelagem dimensional é o esquema em estrela. Um esquema em estrela é um modelo de dados multidimensional usado para organizar dados de modo que sejam fáceis de entender e analisar, além de ser muito fácil e intuitivo para gerar relatórios. Os esquemas em estrela ou modelos dimensionais no estilo Kimball são praticamente o padrão ouro para a camada de apresentação em data warehouses e data marts, e até mesmo para as camadas semânticas e de relatórios. O design do esquema em estrela é otimizado para consultar grandes conjuntos de dados.

Um exemplo de esquema em estrela
Um exemplo de esquema em estrela

Ambos os estilos de modelagem de dados, Data Vault normalizado (otimizado para gravação) e modelos dimensionais desnormalizados (otimizados para leitura), têm seu lugar no Lakehouse da Databricks. Os hubs e satélites do Data Vault na camada Silver são usados para carregar as dimensões no esquema em estrela, e as tabelas de link do Data Vault se tornam as tabelas principais para o carregamento das tabelas de fatos no modelo dimensional. Saiba mais sobre modelagem dimensional no Kimball Group.

Princípios de organização de dados em cada camada do Lakehouse

Um lakehouse moderno é uma plataforma de dados abrangente de nível empresarial. É altamente escalável e de alto desempenho para todos os tipos de casos de uso diferentes, como ETL, BI, ciência de dados e transmissão, que podem exigir diferentes abordagens de modelagem de dados. Vamos ver como um lakehouse típico é organizado:

 Um diagrama que mostra as características das camadas Bronze, Silver e ouro da arquitetura de data lakehouse.
Um diagrama que mostra as características das camadas Bronze, Silver e ouro da arquitetura de data lakehouse.

Camada Bronze — a Zona de Aterrissagem

A camada Bronze armazena todos os dados de sistemas de origem externa. As estruturas de tabela nesta camada correspondem às estruturas de tabela do sistema de origem "as-is", além de colunas de metadados opcionais que podem ser adicionadas para capturar a data/hora do carregamento, o ID do processo etc. Essa camada fornece captura rápida de dados alterados, arquivamento histórico de fonte (armazenamento a frio), linhagem de dados, auditabilidade e reprocessamento conforme necessário, sem recarregar os dados do sistema de origem.

Na maioria dos casos, é uma boa ideia manter os dados na camada Bronze em formato Delta, para que as leituras subsequentes da camada Bronze para ETL tenham um bom desempenho e para que você possa fazer atualizações na camada Bronze para registrar as alterações de CDC. Às vezes, quando os dados chegam nos formatos JSON ou XML, vemos clientes armazenando-os no formato de dados de origem original e depois os preparando, alterando-os para o formato Delta. Então, às vezes, vemos clientes implementarem a camada Bronze lógica em uma zona física de recebimento e preparação.

Armazenar dados brutos no formato de dados de origem original em uma landing zone também ajuda na consistência quando você ingere dados por meio de ferramentas de ingestão que não dão suporte ao Delta como coletor nativo ou quando sistemas de origem despejam dados diretamente em armazenamentos de objetos. Este padrão também se alinha bem com o framework de ingestão do autoloader, no qual as fontes depositam os dados na landing zone para arquivos brutos e, em seguida, o Databricks AutoLoader converte os dados para a camada de Staging no formato Delta.

Camada Silver — o Repository central empresarial

A camada Prata do lakehouse combina, faz merge, adapta e limpa (moderadamente) os dados na camada Bronze para fornecer uma “visão corporativa” de todas as principais entidades de negócios, conceitos e transações Isso é semelhante a um Repositório de Dados Operacionais (ODS) empresarial, um Repositório Central ou domínios de dados de uma Data Mesh (por exemplo, tabelas mestre de clientes, lojas, transações desduplicadas e referência cruzada). Essa enterprise view reúne os dados de diferentes fontes e permite a analítica de auto-serviço para relatórios ad-hoc, analítica avançada e ML. Os dados da camada Prata são a fonte de projetos e análises para analistas, engenheiros de dados e data scientists para ajudar a resolver desafios de negócios em empresas e projetos de dados departamentais na camada Ouro.

No paradigma de Engenharia de Dados do Lakehouse, geralmente a metodologia ELT (Extract-Load-Transform) é seguida em vez da tradicional ETL (Extract-Transform-Load). A abordagem ELT significa que apenas transformações e regras de limpeza de dados mínimas ou "apenas o suficiente" são aplicadas ao carregar a camada Silver. Todas as regras de "nível empresarial" são aplicadas na camada Silver, enquanto as regras de transformação específicas do projeto são aplicadas na camada ouro. Velocidade e agilidade para ingerir e entregar os dados no Lakehouse são priorizadas aqui.

Em termos de modelagem, a camada Prata adota um modelo de dados próximo à Terceira Forma Normal Arquiteturas e modelos de dados com bom desempenho de gravação, como os do Data Vault, podem ser usados nesta camada. Se estiver usando uma metodologia de Data Vault, o Vault de dados brutos e o Business Vault se encaixarão na camada Silver lógica do lake, e as presentation views Point-In-Time (PIT) ou materialized views serão apresentadas na camada Ouro.

Camada Ouro — a camada de apresentação

Na camada Ouro, você pode criar vários data marts ou data warehouses usando modelagem dimensional ou o método Kimball. Conforme discutido anteriormente, a camada ouro é para relatórios e usa modelos de dados mais desnormalizados e otimizados para leitura com menos joins em comparação com a camada Silver. Às vezes, as tabelas na camada Ouro podem ser completamente desnormalizadas, normalmente se os data scientists desejarem alimentar seus algoritmos para engenharia de recursos.

Regras de ETL e de qualidade de dados que são "específicas do projeto" são aplicadas ao transformar dados da camada Silver para a camada ouro. As camadas de apresentação finais, como data warehouses, data marts ou produtos de dados como analítica de clientes, analítica de produto/qualidade, analítica de inventário, segmentação de clientes, recomendações de produtos, analítica de marketing/vendas etc. são entregues nesta camada. Modelos de dados baseados em esquema em estrela no estilo Kimball ou data marts no estilo Inmon se encaixam nesta Camada ouro do Lakehouse. Laboratórios de ciência de dados e sandboxes departamentais para analítica self-service também pertencem à Camada ouro.

O Paradigma de Organização de Dados do Lakehouse

 

Para resumir, os dados passam por uma curadoria à medida que se movem pelas diferentes camadas de um Lakehouse.

  • A Camada Bronze usa os modelos de dados dos sistemas de origem. Se os dados forem carregados em formatos brutos, eles serão convertidos para o formato DeltaLake nesta camada.
  • A camada Silver, pela primeira vez, reúne os dados de diferentes fontes e os conforma para criar uma visão corporativa dos dados — geralmente usando modelos de dados mais normalizados e otimizados para escrita, que são normalmente do tipo 3ª Forma Normal ou Data Vault.
  • A camada ouro é a camada de apresentação com modelos de dados mais desnormalizados ou achatados do que a camada Silver, normalmente usando modelos dimensionais no estilo Kimball ou esquemas em estrela. A camada ouro também abriga sandboxes departamentais e de ciência de dados para permitir analítica de autoatendimento e ciência de dados em toda a empresa. Fornecer essas sandboxes e seus próprios clusters de compute separados impede que as equipes de negócios criem suas próprias cópias de dados fora do Lakehouse.

Essa abordagem de organização de dados Lakehouse tem como objetivo quebrar os silos de dados, unir as equipes e capacitá-las para realizar ETL, transmissão, BI e IA em uma única plataforma com a governança adequada. As equipes de dados centrais devem ser as facilitadoras da inovação na organização, acelerando o onboarding de novos usuários de auto-serviço, bem como o desenvolvimento de muitos projetos de dados em paralelo — em vez de o processo de modelagem de dados se tornar o gargalo. O Databricks Unity Catalog fornece pesquisa e descoberta, governança e linhagem no Lakehouse para garantir uma boa cadência de governança de dados.

Construa seus Data Vaults e data warehouses de esquema estrela com o Databricks SQL hoje.

Os dados passam por curadoria à medida que se movem pelas diferentes camadas de um Lakehouse.
Como os dados passam por curadoria à medida que se movem pelas várias camadas do Lakehouse.

Leitura adicional:

 

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Nunca perca uma postagem da Databricks

Inscreva-se nas categorias de seu interesse e receba as últimas postagens na sua caixa de entrada

O que vem a seguir?

Introducing AI/BI: Intelligent Analytics for Real-World Data

Produto

June 12, 2024/11 min de leitura

Apresentando o AI/BI: analítica inteligente para dados do mundo real

Five Simple Steps for Implementing a Star Schema in Databricks With Delta Lake

Produto

September 12, 2024/8 min de leitura

Cinco etapas simples para implementar um esquema de estrela na Databricks com Delta Lake