Criar uma arquitetura de análise moderna usando o Azure Databricks

Azure Databricks
Microsoft Fabric
Power BI
Azure Data Lake Storage

Ideias de solução

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.

Essa solução descreve os principais princípios e componentes das arquiteturas de dados modernas. O Azure Databricks é central para a solução. Essa plataforma se integra diretamente a outros serviços, como o Azure Data Lake Storage, o Microsoft Fabric e o Power BI.

Apache® e Apache Spark™ são marcas registradas ou marcas comerciais do Apache Software Foundation nos Estados Unidos e/ou em outros países. O uso desta marca não implica aprovação por parte da Apache Software Foundation.

Arquitetura

diagrama arquitetura que mostra como uma arquitetura de dados moderna coleta, processa, analisa e visualiza dados.

Baixe um arquivo Visio dessa arquitetura.

Fluxo de dados

O fluxo de dados a seguir corresponde ao diagrama anterior:

  1. O Azure Databricks ingere dados brutos de streaming dos Hubs de Eventos do Azure usando o Lakeflow Spark Declarative Pipelines (SDP).

  2. O Fabric Data Factory carrega dados brutos em lote no Data Lake Storage.

  3. Os seguintes componentes armazenam, coletam e organizam dados no data lake:

    • O Data Lake Storage armazena todos os tipos de dados, incluindo dados estruturados, não estruturados e parcialmente estruturados. Ele também armazena dados em lote e dados de streaming.

    • Delta Lake é a camada organizada do data lake. Ele armazena os dados refinados em um formato de software livre.

    O Azure Databricks usa uma arquitetura de medalhão para organizar dados nas seguintes camadas:

    • A camada Bronze contém dados brutos.

    • A camada Silver contém dados limpos e filtrados.

    • A camada Gold armazena dados agregados que dão suporte à análise de negócios.

  4. A plataforma analítica ingere dados das diferentes fontes de dados em lote e em fluxo. Os cientistas de dados usam esses dados para tarefas como:

    • Preparação de dados

    • Exploração de dados

    • Preparação do modelo

    • Treinamento de modelos

    O MLflow gerencia o acompanhamento de parâmetros, métricas e modelos em execuções de código de ciência de dados. O Azure Databricks fornece opções de codificação flexíveis para essas cargas de trabalho, incluindo:

    • Suporte para SQL, Python, R e Scala.

    • Integração com bibliotecas e estruturas de software livre populares, como PySpark, API pandas no Spark, pandas e scikit-learn.

    • Opções de computação de nó único e vários nós que ajudam a otimizar o desempenho e o custo.

  5. Os modelos de machine learning estão disponíveis e implantáveis usando o Azure Databricks, que armazena informações sobre modelos no Registro de Modelo do MLflow. O registro disponibiliza modelos por meio de APIs de lote, de streaming e REST. A solução também pode disponibilizar modelos implantando-os em pontos de extremidade do Azure Machine Learning, incluindo pontos de extremidade online gerenciados, pontos de extremidade em lote e pontos de extremidade do Kubernetes (Serviço de Kubernetes do Azure) apoiados pelo AKS.

  6. Para ajudar a garantir a consistência, os serviços que gerenciam os dados se conectam a uma única fonte de dados subjacente. Por exemplo, você pode executar consultas SQL no data lake usando os sql warehouses do Azure Databricks. Este serviço:

    • Fornece um editor de consultas e um catálogo, o histórico de consultas, painéis básicos e alertas.

    • A segurança integrada utilizada inclui permissões de nível de linha e permissões de nível de coluna.

    • Usa um Mecanismo Delta movido a fótons para melhorar o desempenho.

  7. Você pode espelhar conjuntos de dados em ouro do Catálogo do Unity do Azure Databricks para o Microsoft OneLake. Use o espelhamento do Azure Databricks no Fabric para integrar dados sem replicação ou movimentação.

  8. O Power BI gera relatórios e painéis analíticos e históricos da plataforma de dados unificada. A integração do Power BI com o Azure Databricks fornece os seguintes recursos:

    • Um conector interno do Azure Databricks para visualizar os dados subjacentes

    • Drivers otimizados de Conectividade de Banco de Dados Java (JDBC) e Open Database Connectivity (ODBC)

    Para carregar seus modelos semânticos do Power BI para consultas de alto desempenho, você pode usar o modo Direct Lake com o Azure Databricks espelhado no OneLake.

  9. A solução usa o Catálogo do Unity e os serviços do Azure para colaboração, desempenho, confiabilidade, governança e segurança. Os seguintes serviços e recursos dão suporte à governança e ao gerenciamento da plataforma:

    • O Catálogo Unity do Azure Databricks fornece controle de acesso centralizado, auditoria, linhagem e capacidades de descoberta de dados nas workspaces do Azure Databricks.

    • O Microsoft Purview fornece serviços de descoberta de dados, classificação de dados confidenciais e insights de governança em todo o conjunto de dados.

    • Para acesso ao Data Lake Storage, use ferramentas de autenticação baseadas em identidade, como identidades gerenciadas e entidades de serviço, como o padrão entre os serviços de dados. Use o Azure Key Vault somente quando uma carga de trabalho exigir credenciais de não entidade, como tokens, senhas ou chaves compartilhadas. Trate os segredos como um controle transversal. Centralize o armazenamento, restrinja o acesso, atualize regularmente e configure cargas de trabalho para recuperar segredos em tempo de execução ao invés de usar cadeias de conexão embutidas.

    • O Azure DevOps e outras plataformas de DevOps, como o GitHub, oferecem CI/CD (integração contínua e entrega contínua) e outros recursos integrados de controle de versão para automatizar a implantação de infraestrutura e o gerenciamento de código.

    • O Power BI acessa dados curados (Gold) por meio de endpoints SQL do Azure Databricks usando autenticação e autorização baseadas em Microsoft Entra ID. O Catálogo do Databricks Unity e os serviços de governança corporativa controlam o acesso a dados, o que significa que o Power BI não precisa de credenciais de armazenamento direto e apenas usuários e conjuntos de dados autorizados podem acessar os dados.

    • O Microsoft Entra ID fornece SSO (logon único) e gerenciamento automático de identidade para usuários e grupos do Azure Databricks. O gerenciamento automático de identidade sincroniza usuários, entidades de serviço e grupos da ID do Microsoft Entra sem configuração de provisionamento separada. O Azure Databricks dá suporte ao provisionamento automatizado de identidade com a ID do Microsoft Entra para:

      • Crie e sincronize usuários, grupos e entidades de serviço.

      • Gerenciar associações de grupo aninhadas.

      • Remova os usuários e negue o acesso quando as identidades forem excluídas da ID do Microsoft Entra.

    • O Azure Monitor coleta e analisa a telemetria de recursos do Azure. Esse serviço maximiza o desempenho e a confiabilidade ao identificar problemas proativamente.

    • O Gerenciamento de Custos da Microsoft fornece serviços de governança financeira para cargas de trabalho do Azure.

Componentes

Esta solução usa os seguintes componentes.

Componentes principais

  • Azure Databricks é uma plataforma de análise de dados que usa clusters Spark para processar grandes fluxos de dados. Ele limpa e transforma dados não estruturados e os combina com dados estruturados. Ele também pode treinar e implantar modelos de machine learning. Nessa arquitetura, o Azure Databricks serve como a ferramenta central para ingestão, processamento e serviço de dados. Ele fornece um ambiente unificado para gerenciar todo o ciclo de vida dos dados.

  • sql warehouses do Azure Databricks são recursos de computação que você pode usar para consultar e explorar dados no Azure Databricks. Nessa arquitetura, você pode usar pontos de extremidade SQL para se conectar diretamente aos seus dados do Power BI.

  • O SDP do Lakeflow, anteriormente Delta Live Tables, é uma estrutura declarativa para criar pipelines de processamento de dados confiáveis, manteneveis e testáveis. Nessa arquitetura, o Lakeflow SDP ajuda você a definir transformações a serem executadas em seus dados. Ele também ajuda você a gerenciar a orquestração de tarefas, o gerenciamento de cluster, o monitoramento, a qualidade dos dados e o tratamento de erros no Azure Databricks.

  • O Fabric é uma plataforma de dados e análise de ponta a ponta para organizações que precisam de uma solução unificada. A plataforma fornece serviços como Fabric Data Engineering, Fabric Data Factory, Fabric Data Science, Fabric Real-Time Intelligence, Fabric Data Warehouse, Fabric Databases e OneLake. Essa arquitetura espelha as tabelas do Catálogo do Unity no OneLake e usa o modo Direct Lake no Power BI para melhorar o desempenho.

  • O Data Factory é uma plataforma moderna de integração de dados que você pode usar para ingerir, preparar e transformar dados de um conjunto de fontes de dados no Fabric. Essa arquitetura usa conectores internos para várias fontes de dados para ingestão rápida no Data Lake Storage ou no OneLake. Mais tarde, o Azure Databricks recupera e transforma ainda mais os dados em lote.

  • Event Hubs é uma plataforma de streaming de grande volume de dados totalmente gerenciada. Como uma PaaS (plataforma como serviço), ela fornece recursos de ingestão de eventos. Essa arquitetura usa Os Hubs de Eventos para transmitir dados. O Azure Databricks pode se conectar a esses dados e processá-los usando o Spark Streaming ou o Lakeflow SDP.

  • Data Lake Storage é um data lake escalonável e seguro para análise de alto desempenho. Ele manipula vários petabytes de dados e dá suporte a centenas de gigabits de taxa de transferência. O Data Lake Storage pode armazenar dados estruturados, parcialmente estruturados e não estruturados. Essa arquitetura usa o Data Lake Storage para armazenar dados em lote e streaming.

  • O Machine Learning é um ambiente baseado em nuvem que ajuda você a criar, implantar e gerenciar soluções de análise preditiva. Você pode prever o comportamento, os resultados e as tendências usando esses modelos. Nessa arquitetura, o Machine Learning usa dados que o Azure Databricks transforma para treinar e inferir modelos.

  • O AKs é um serviço de Kubernetes altamente disponível, seguro e totalmente gerenciado. O AKS facilita a implantação e o gerenciamento de aplicativos em contêineres. Nessa arquitetura, o AKS hospeda modelos de machine learning em um ambiente em contêineres para inferência escalonável.

  • Delta Lake é uma camada de armazenamento que usa um formato de arquivo aberto. Essa camada é executada em cima de soluções de armazenamento em nuvem, como o Data Lake Storage. O Delta Lake dá suporte ao controle de versão, reversão e transações de dados para atualizar, excluir e mesclar dados. Nessa arquitetura, o Delta Lake serve como o formato de arquivo primário para gravar e ler dados do Data Lake Storage.

  • O MLflow é uma plataforma de software livre para gerenciamento de ciclo de vida de machine learning. Seus componentes monitoram modelos de machine learning durante o treinamento e a operação. Nessa arquitetura, semelhante ao Machine Learning, você pode usar o MLflow no Azure Databricks para gerenciar seu ciclo de vida de aprendizado de máquina. Treine modelos e faça inferência usando os dados do Unity Catalog que você transforma no Azure Databricks.

Relatórios e componentes de controle

  • Azure Databricks Unity Catalog oferece controle de acesso centralizado, auditoria, linhagem e recursos de descoberta de dados nos espaços de trabalho do Azure Databricks. Nessa arquitetura, o Catálogo do Unity serve como a principal ferramenta no Azure Databricks para gerenciar e proteger o acesso a dados.

  • O Power BI é uma coleção de serviços de software e aplicativos. Esses serviços criam e compartilham relatórios que conectam fontes de dados não relacionadas e as visualizam. Junto com o Azure Databricks, o Power BI pode fornecer determinação de causa raiz e análise de dados brutos. Nessa arquitetura, você usa o Power BI para criar dashboards e relatórios que fornecem insights sobre os dados que o Azure Databricks e o Fabric processam.

  • O Microsoft Purview gerencia dados locais, multinuvem e de software como serviço (SaaS). Esse serviço de governança mantém mapas de paisagem de dados. Seus recursos incluem descoberta automatizada de dados, classificação de dados confidenciais e linhagem de dados. Nessa arquitetura, o Microsoft Purview verifica e rastreia os dados ingeridos pelo Catálogo do Unity, Fabric, Power BI e Data Lake Storage.

  • O Azure DevOps é uma plataforma de orquestração do DevOps. Esse SaaS fornece ferramentas e ambientes para criar, implantar e colaborar em aplicativos. Nessa arquitetura, o Azure DevOps automatiza a implantação da infraestrutura do Azure. Você também pode usar o GitHub para automação e controle de versão do código do Azure Databricks para melhor colaboração, controle de alterações e integração com pipelines de CI/CD.

  • Key Vault armazena e controla o acesso a segredos, como tokens, senhas e chaves de API. O Key Vault também cria e controla chaves de criptografia e gerencia certificados de segurança. Nessa arquitetura, o Key Vault armazena chaves de assinatura de acesso compartilhado do Data Lake Storage. Essas chaves são usadas no Azure Databricks e em outros serviços para autenticação.

  • O Microsoft Entra ID oferece serviços de gerenciamento de acesso e identidade baseados em nuvem do Azure. Esses recursos fornecem uma maneira para os usuários fazerem logon e acessarem recursos. Nessa arquitetura, o Microsoft Entra ID autentica e autoriza usuários e serviços no Azure.

  • O gerenciamento automático de identidade sincroniza automaticamente usuários, entidades de serviço e grupos do Microsoft Entra ID para o Azure Databricks sem configuração de aplicativo separada. O Azure Databricks ativa esse recurso por padrão e inclui suporte para grupos aninhados e entidades de serviço. Nessa arquitetura, você pode usar o provisionamento SCIM (System for Cross-domain Identity Management) se sua organização tiver requisitos específicos de gerenciamento de identidade.

  • do Azure Monitor coleta e analisa dados em ambientes e recursos do Azure. Esses dados incluem telemetria de aplicativo, como métricas de desempenho e logs de atividade. Nessa arquitetura, o Azure Monitor acompanha a integridade dos recursos de computação no Azure Databricks e machine learning e outros componentes que enviam logs para o Azure Monitor.

  • Gerenciamento de Custos ajuda a controlar os gastos com a nuvem. Esse serviço organiza despesas e mostra como reduzir custos usando orçamentos e recomendações. Nessa arquitetura, o Gerenciamento de Custos ajuda a monitorar e controlar o custo de toda a solução.

Detalhes do cenário

Arquiteturas de dados modernas:

  • Unificar dados, análises e cargas de trabalho de IA.
  • Execute de forma eficiente e confiável em qualquer escala.
  • Forneça insights por meio de painéis de análise, relatórios operacionais ou análise avançada.

Essa solução descreve uma arquitetura de dados moderna que atinge essas metas. O Azure Databricks forma o núcleo da solução. Essa plataforma se integra diretamente a outros serviços. Juntos, esses serviços fornecem uma solução que é:

  • Simples: A análise unificada, a ciência de dados e o aprendizado de máquina simplificam a arquitetura de dados.

  • Aberto: A solução dá suporte a código-fonte aberto, padrões abertos e estruturas abertas. Ela também funciona com ambientes de desenvolvimento integrado (IDEs), bibliotecas e linguagens de programação populares. A solução também se integra a uma ampla gama de outros serviços.

  • Colaborativo: Engenheiros de dados, cientistas de dados e analistas trabalham em conjunto com essa solução. Eles podem usar notebooks colaborativos, IDEs, painéis e outras ferramentas para acessar e analisar dados subjacentes comuns.

Possíveis casos de uso

Essa solução se aplica a organizações que já usam plataformas de análise baseadas em PaaS e ferramentas de BI (business intelligence) baseadas em SaaS, geralmente em equipes diferentes. A solução ajuda engenheiros de dados e equipes de ciência de dados que dependem do Azure Databricks para processamento escalonável e aprendizado de máquina. Os usuários de análise e de negócios usam o Power BI para relatórios padronizados, o que requer uma arquitetura unificada que dá suporte a cargas de trabalho sem duplicação de dados ou fragmentação de governança.

Use essa arquitetura se você:

  • Tenha engenheiros de dados e equipes de ciência de dados que já usam o Azure Databricks para processamento de dados escalonável, análise avançada e machine learning.

  • Tenha comunidades de usuários comerciais e de análise que dependem do Power BI para relatórios padronizados e controlados e insights de autoatendimento.

  • Exigir uma arquitetura de dados unificada para que ambas as plataformas possam usar uma base de dados compartilhada.

  • Deseja evitar a duplicação de dados ou a criação de pipelines paralelos apenas para atender diferentes demandas analíticas.

  • Precisa manter controles de governança, segurança e acesso consistentes entre cargas de trabalho de engenharia e BI.

Contribuidores

A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Autor principal:

Outro colaborador:

Para ver perfis de LinkedIn não públicos, entre em LinkedIn.

Próximas etapas