Este exemplo de carga de trabalho ilustra uma solução greenfield para criar uma plataforma de dados escalonável usando o Microsoft Fabric e o paradigma de design lakehouse. O Fabric é uma plataforma que integra armazenamento, processamento e análise de dados. Um lakehouse greenfield fornece um começo limpo para projetar um ecossistema de dados eficiente e preparado para o futuro.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de dados
Esse design reflete a arquitetura do Lambda, que separa o processamento de dados em duas camadas:
- Uma camada de processamento em lote de alto volume que é processada periodicamente para análise histórica
- Uma camada de processamento de fluxo de baixa latência e alto rendimento para análise em tempo real
O caminho de processamento de fluxo ingere e processa dados quase em tempo real, o que o torna ideal para painéis e detecção de anomalias. O caminho de processamento em lote lida com o conjunto de dados completo, garantindo a consistência dos dados e permitindo análises históricas complexas. Essa abordagem em duas frentes oferece insights em tempo real, mantendo um registro confiável para exploração posterior.
Caminho frio: análise em lote
Os data warehouses, que dependem da semântica SQL relacional, são a abordagem convencional para análise de dados históricos. No entanto, esse padrão evoluiu ao longo do tempo, e os lakehouses são o padrão atual do setor para análise de dados em lote. Um lakehouse é construído sobre formatos de arquivo de código aberto e, ao contrário dos data warehouses tradicionais, atende a todos os tipos de dados: estruturados, semiestruturados e não estruturados. A camada de computação em um lakehouse normalmente é criada com base na estrutura do Apache Spark, que é o mecanismo preferencial para processar big data devido à sua capacidade de computação distribuída e alto desempenho. O Fabric oferece uma experiência de lakehouse nativa baseada no formato de arquivo Delta Lake de software livre e em um runtime gerenciado do Spark.
Uma implementação de lakehouse normalmente usa a arquitetura medallion. Nessa arquitetura, a camada bronze contém os dados brutos, a camada prata contém os dados validados e desduplicados e a camada ouro contém dados altamente refinados que são adequados para dar suporte a casos de uso voltados para negócios. Essa abordagem funciona em todas as organizações e setores. Embora essa seja a abordagem geral, você pode personalizá-la de acordo com suas necessidades. Essa arquitetura mostra como criar um lakehouse usando componentes nativos do Fabric.
Ingestão de dados por meio do Data Factory
(Confira Etapa 1 no diagrama.)
O Azure Data Factory no Fabric fornece os recursos do serviço Azure Data Factory, que é um serviço de integração de dados amplamente usado. Embora o serviço Data Factory forneça principalmente recursos de orquestração por meio de pipelines, o recurso no Fabric fornece pipelines e fluxos de dados.
- Os pipelines de dados permitem que você aplique recursos avançados de orquestração de dados prontos para uso para compor fluxos de trabalho de dados flexíveis que atendam às necessidades da sua empresa.
- Os fluxos de dados permitem que você use mais de 300 transformações no designer de fluxos de dados. Você pode usar essas transformações para transformar dados usando uma interface gráfica semelhante à do Power Query. Isso inclui transformações de dados inteligentes baseadas em IA. Os fluxos de dados também podem gravar dados em armazenamentos de dados nativos no Fabric, como lakehouse, warehouse, Azure SQ e bancos de dados Kusto.
Dependendo de seus requisitos, você pode usar um ou ambos os recursos para criar uma estrutura de ingestão avançada orientada por metadados. Você pode integrar dados de vários sistemas de origem em um cronograma definido ou usando acionadores de eventos.
Transformações de dados
(Confira Etapa 2 no diagrama.)
Existem duas abordagens para preparação e transformação de dados. Se preferir uma experiência de código primeiro, você pode usar notebooks do Spark. Caso queira uma experiência com pouco código ou sem código, é possível usar fluxos de dados.
Os notebooks do Fabric são uma ferramenta importante para o desenvolvimento de trabalhos do Apache Spark. Eles fornecem uma superfície interativa baseada na web que os engenheiros de dados usam para escrever código. Também oferecem visualizações avançadas e permitem o uso de texto Markdown. Os engenheiros de dados gravam código para ingestão de dados, preparação de dados e transformação de dados. Os cientistas de dados usam notebooks para criar soluções de aprendizado de máquina. Por exemplo, eles os utilizam para criar experimentos e modelos e rastrear e implantar modelos.
Cada workspace no Fabric vem com um pool inicial do Spark, que é usado para trabalhos padrão do Spark. Com pools iniciais, você pode esperar uma inicialização rápida da sessão do Apache Spark, normalmente dentro de 5 a 10 segundos, sem nenhuma configuração manual. Você também obtém a flexibilidade de personalizar pools do Apache Spark de acordo com seus requisitos de engenharia de dados. Você pode dimensionar os nós automaticamente e alocar executores de forma dinâmica com base nos requisitos de trabalho do Spark. Para personalizações de runtime do Spark, você pode usar ambientes. Em um ambiente, você pode configurar propriedades de computação, selecionar diferentes runtimes e configurar dependências de pacotes de biblioteca com base em seus requisitos de carga de trabalho.
Os fluxos de dados permitem extrair dados de várias fontes, transformá-los usando uma ampla variedade de operações e carregá-los em um destino. Tradicionalmente, os engenheiros de dados gastam muito tempo extraindo, transformando e carregando dados em um formato consumível para análises downstream. O Dataflow Gen2 fornece uma maneira fácil e reutilizável de executar tarefas de ETL (extração, transformação e carregamento) usando sugestões visuais no Power Query Online. O fluxo de dados preserva todas as etapas de transformação. Para executar outras tarefas ou carregar dados em um destino diferente após a transformação, crie um Pipeline de dados e adicione a atividade do Dataflow Gen2 à orquestração do pipeline.
Caminho quente: análise em tempo real
O processamento de dados em tempo real é vital para empresas que desejam permanecer ágeis, tomar decisões informadas rapidamente e aproveitar insights imediatos para melhorar as operações e as experiências do cliente. No Fabric, esse recurso é fornecido pelo serviço Inteligência em Tempo Real. Ele compreende vários recursos do Fabric que são agrupados e acessíveis por meio do hub em tempo real. O hub em tempo real fornece um único local para streaming de dados em movimento em toda a sua organização.
A Inteligência em Tempo Real no Fabric permite a análise e a visualização de dados para cenários orientados a eventos, streaming de dados e logs de dados. Ele conecta dados baseados em tempo de várias fontes usando um catálogo de conectores sem código e fornece uma solução de ponta a ponta para ingestão de dados, transformação, armazenamento, análise, visualização, rastreamento, IA e ações em tempo real. Embora o nome do serviço use a frase "Tempo Real", seus dados não precisam ser transmitidos em altas taxas e volumes. A Inteligência em Tempo Real fornece soluções orientadas por eventos, em vez de por cronograma.
Ingestão em tempo real
(Confira Etapa 3 no diagrama.)
Os fluxos de eventos são um recurso do Fabric que permite um método sem código para ingerir eventos em tempo real de várias fontes e enviá-los para diferentes destinos. Ele possibilita filtragem, transformação, agregação e roteamento de dados com base no conteúdo. Você também pode usá-lo para criar novos fluxos a partir dos existentes e compartilhá-los em toda a organização usando o hub em tempo real. Os Eventstreams oferecem suporte a várias fontes e destinos de dados. Você pode usar uma ampla variedade de conectores para fontes externas, como clusters do Apache Kafka, feeds de Captura de Dados de Alteração de Banco de Dados, fontes de streaming da AWS (Kinesis) e Google (GCP Pub/Sub).
Você cria um eventstream, adiciona fontes de dados de evento ao fluxo, pode adicionar transformações para transformar os dados do evento e, em seguida, roteia os dados para destinos com suporte. O lakehouse do Fabric é um dos destinos suportados, para que você possa transformar seus eventos em tempo real antes de ingeri-los no seu lakehouse. Os eventos em tempo real são convertidos no formato Delta Lake e, em seguida, armazenados nas tabelas designadas do lakehouse. Esse padrão permite cenários de armazenamento de dados e análise histórica dos seus dados de movimentação rápida.
Análise em tempo real
(Confira Etapa 4 no diagrama.)
Quando você usa a Inteligência em Tempo Real no Fabric, dependendo de seus casos de uso, há dois caminhos típicos para streaming de dados: itens Reflex e eventhouses.
Um reflexo é um item do Fabric que permite reagir à ocorrência de uma condição de dados à medida que ela acontece. Essa reação pode ser uma simples mensagem de alerta por email ou Microsoft Teams ou pode envolver a invocação de uma ação personalizada disparando um fluxo do Power Automate. Você também pode acionar qualquer item do Fabric a partir de seus reflexos. Muitos casos de uso de observabilidade são suportados por reflexos. Um deles é reagir aos dados de streaming à medida que chegam aos eventstreams.
Um eventhouse é uma coleção de um ou mais bancos de dados de Linguagem de Consulta Kusto (KQL). Os bancos de dados KQL são projetados para eventos de streaming baseados em tempo de dados estruturados, semiestruturados e não estruturados. Os dados são indexados e particionados automaticamente com base no tempo de ingestão, o que fornece recursos de consulta analítica rápida e complexa, mesmo quando os dados são transmitidos. Os dados armazenados em eventhouses podem ser disponibilizados no OneLake para uso por outros processos do Fabric. Você pode consultar esses dados usando várias opções de código, com pouco ou sem código no Fabric, incluindo KQL e T-SQL nativos no conjunto de consultas KQL.
Os Painéis em Tempo Real são projetados para fornecer insights imediatos do streaming de dados para seus eventhouses. Você pode adicionar vários tipos de elementos visuais a um painel, como tabelas e gráficos, e personalizá-los para atender às suas necessidades. Os Painéis em Tempo Real servem ao propósito específico de identificar rapidamente tendências e anomalias em dados de alta velocidade que chegam a um eventhouse. Eles são diferentes dos painéis do Power BI, que são adequados para cargas de trabalho de relatórios de BI corporativo.
Serviço de dados
(Confira Etapa 5 no diagrama.)
Há várias opções de pouco código ou pro-code disponíveis para consumir dados de lakehouses e eventhouses do Fabric.
Ponto de extremidade de análise do SQL
Um endpoint de análise SQL é gerado automaticamente para cada lakehouse no Fabric. Um ponto de extremidade de análise do SQL é somente leitura. Para modificar os dados, você precisa alternar para o modo lakehouse e usar o Spark. Você pode usar o ponto de extremidade de análise do SQL diretamente no portal do Fabric para consultar dados alternando do modo lakehouse para o modo SQL do lakehouse. Como alternativa, você pode usar a cadeia de conexão SQL de um lakehouse para se conectar usando ferramentas de cliente como Power BI, Excel e SQL Server Management Studio. Essa opção é adequada para analistas de dados e negócios em uma equipe de dados.
Notebooks Spark
Os notebooks são uma maneira popular de interagir com os dados do lakehouse. O Fabric fornece uma superfície interativa baseada na web que os operadores de dados podem usar para escrever código. Esses trabalhadores podem aplicar visualizações avançadas e texto Markdown. Os engenheiros de dados gravam código para ingestão de dados, preparação de dados e transformação de dados. Os cientistas de dados usam notebooks para exploração de dados, criar experimentos e modelos de aprendizado de máquina e rastrear e implantar modelos. Esta opção é adequada para engenheiros de dados profissionais e cientistas de dados.
Power BI
Cada lakehouse no Fabric vem com um modelo semântico padrão predefinido. Ele é criado automaticamente quando você configura um lakehouse e carrega dados nele. Esses modelos herdam a lógica de negócios do lakehouse para facilitar a criação de relatórios e painéis do Power BI diretamente na experiência do lakehouse. Você também pode criar modelos semânticos personalizados, com base em requisitos de negócios específicos, em tabelas lakehouse. Ao criar relatórios do Power BI em um lakehouse, você pode usar o modo Direct Lake, que não exige que você importe dados separadamente. Esse modo permite que você obtenha desempenho na memória em seus relatórios sem mover seus dados para fora do lakehouse.
APIs personalizadas
O Fabric fornece uma plataforma de API avançada nos seus itens. O OneLake fornece acesso aberto a todos os itens do Fabric por meio de APIs e SDKs do Azure Data Lake Storage. Você pode acessar seus dados no OneLake por meio de qualquer API, SDK ou ferramenta compatível com o Data Lake Storage usando apenas um URI do OneLake. Você pode carregar dados em um lakehouse usando o Gerenciador de Armazenamento do Azure ou ler uma tabela delta por meio de um atalho do Azure Databricks. O OneLake também dá suporte ao driver ABFS (Sistema de Arquivos de Blob do Azure) para maior compatibilidade com o Data Lake Storage e o Armazenamento de Blobs do Azure. Para consumir dados de streaming em aplicativos downstream, você pode enviar dados de eventstream para um ponto de extremidade de API personalizado. Em seguida, você pode consumir essa saída de streaming do Fabric usando os Hubs de Eventos do Azure ou o protocolo AMQP ou Kafka.
Power Automate
O Power Automate é uma plataforma de aplicativos de pouco código que você pode usar para automatizar tarefas repetitivas e também manipular seus dados. O item reflex no Fabric dá suporte a fluxos do Power Automate como destino. Essa integração desbloqueia muitos casos de uso e permite que você dispare ações downstream usando uma ampla variedade de conectores para sistemas Microsoft e não Microsoft.
Componentes
Os componentes a seguir são usados nesta solução.
Fabric: uma plataforma de análise de dados baseada em nuvem de ponta a ponta projetada para empresas. Ela fornece um ambiente unificado para várias tarefas de dados, como ingestão, transformação, análise e visualização de dados.
OneLake: o hub central para todos os seus dados no Fabric. Ele foi projetado como um data lake aberto, o que significa que pode armazenar dados em seu formato nativo, independentemente da estrutura.
Data Factory: um serviço de orquestração e ETL baseado na nuvem para movimentação e transformação automatizadas de dados. Ele permite automatizar a movimentação e a transformação de dados em escala em várias fontes de dados.
Engenharia de dados: ferramentas que permitem a coleta, armazenamento, processamento e análise de grandes volumes de dados.
Ciência de dados: ferramentas que permitem concluir fluxos de trabalho de ciência de dados de ponta a ponta para enriquecimento de dados e obter insights de negócios.
Inteligência em tempo real: um serviço que fornece recursos de ingestão e processamento de fluxo. Ele permite que você obtenha insights de dados em constante fluxo para permitir uma tomada de decisão mais rápida, baseada em tendências e anomalias em tempo real.
Copilot: uma ferramenta que você pode usar para analisar dados, gerar insights e criar visualizações e relatórios no Fabric e no Power BI usando linguagem natural.
Power BI: uma ferramenta de inteligência de negócios para criar painéis e relatórios interativos para visualizar dados e obter insights.
Alternativas
O Fabric oferece um conjunto robusto de ferramentas, mas, dependendo de suas necessidades específicas, você pode se beneficiar da funcionalidade aprimorada fornecida por serviços alternativos no ecossistema do Azure.
O Azure Databricks pode substituir ou complementar os recursos nativos de engenharia de dados do Fabric. O Azure Databricks oferece uma alternativa para processamento de dados em larga escala, fornecendo um ambiente Apache Spark baseado em nuvem. O Azure Databricks também fornece governança comum em todo o seu patrimônio de dados e recursos para possibilitar os principais casos de uso, como ciência de dados, engenharia de dados, aprendizado de máquina, IA e análise baseada em SQL.
O Azure Machine Learning pode substituir ou complementar as ferramentas nativas de Ciência de Dados do Fabric. O Machine Learning vai além dos recursos de experimentação e gerenciamento de modelos no Fabric, adicionando recursos para permitir que você hospede modelos para casos de uso de inferência online, monitore modelos quanto a desvios e crie aplicativos personalizados de IA generativa.
Detalhes do cenário
Essa arquitetura é aplicável para os seguintes cenários:
- Organizações que estão começando do zero sem restrições de sistema legado.
- Organizações que antecipam volumes de dados entre 0,5 TB e 1,5 TB.
- Organizações que preferem um padrão simples e simplificado que equilibra considerações de custo, complexidade e desempenho.
- Organizações que precisam de uma plataforma de dados simples, econômica e de alto desempenho que atenda aos requisitos de relatórios, análises e aprendizado de máquina.
- Organizações que desejam integrar dados de várias fontes para uma visão unificada.
Essa solução não é recomendada para:
- Equipes com experiência em SQL ou banco de dados relacional que têm habilidades limitadas no Apache Spark.
- Organizações que estão migrando de um sistema herdado ou data warehouse para uma plataforma moderna.
Considerações
Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Confiabilidade
A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você deve assumir com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
O Fabric replica automaticamente os recursos entre zonas de disponibilidade sem exigir nenhuma configuração. Por exemplo, durante uma interrupção em toda a zona, nenhuma ação é necessária para recuperar uma zona. Nas regiões compatíveis, o Fabric pode se auto-recuperar e reequilibrar automaticamente para aproveitar uma zona íntegra.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Você pode usar o Fabric para gerenciar, controlar e auditar suas configurações de segurança de acordo com suas necessidades e demandas em constante mudança. As principais recomendações de segurança para usar o Fabric incluem:
Autenticação. Configure o SSO (logon único) na ID do Microsoft Entra para fornecer acesso de vários dispositivos e locais.
RBAC (Controle de Acesso Baseado em Função). Implemente o controle de acesso baseado em workspace para gerenciar quem pode acessar e interagir com conjuntos de dados específicos.
Segurança de rede. Use os controles de segurança de rede de entrada e saída do Fabric ao se conectar a dados ou serviços dentro ou fora da rede. Os principais recursos incluem acesso condicional, links privados, acesso confiável ao workspace e pontos de extremidade privados gerenciados.
Logs de auditoria. Use os logs de auditoria detalhados fornecidos pelo Fabric para rastrear as atividades do usuário e garantir a responsabilidade em toda a plataforma.
Para obter mais informações, consulte Segurança no Microsoft Fabric.
Otimização de custos
A Otimização de Custos trata da redução de despesas desnecessárias e da melhoria da eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.
A malha oferece reservas de capacidade para um determinado número de unidades de capacidade (CUs). As reservas de capacidade podem ajudar a economizar custos quando você se compromete com uma reserva para o uso da capacidade do Fabric por um ano.
Para maximizar a utilização da capacidade do Fabric, considere as seguintes recomendações:
- SKUs F de tamanho certo. Para determinar o tamanho correto da capacidade, você pode provisionar capacidades de avaliação ou SKUs F com pagamento conforme o uso para medir o tamanho real da capacidade necessária antes de comprar uma instância reservada de SKU F. Recomendamos que você execute uma prova de conceito com escopo com uma carga de trabalho representativa, monitore o uso da CU e extrapole para chegar a uma estimativa do uso da CU para produção. O Fabric proporciona uma escala perfeita. Você pode começar com um tamanho de capacidade conservador e escalar verticalmente se precisar de mais.
- Monitore os padrões de uso. Acompanhe e analise regularmente seu uso para identificar horários de pico e fora de pico. Isso pode ajudar a entender quando seus recursos são mais utilizados para que possa agendar tarefas não críticas fora dos horários de pico, evitando assim picos no uso da CU.
- Otimize consultas e cargas de trabalho. Certifique-se de que suas consultas e cargas de trabalho sejam otimizadas para reduzir o uso desnecessário de computação. Otimize consultas DAX, código Python e outras operações.
- Use bursting e smoothing. Use os recursos de bursting e smoothing do Fabric para lidar com atividades com uso intensivo de CPU sem exigir um SKU mais alto. Isso pode ajudar a gerenciar custos e, ao mesmo tempo, manter o desempenho. Para obter mais informações, consulte Avaliar e otimizar a capacidade do Fabric.
- Configure alertas e notificações. Configure alertas proativos para que os administradores de capacidade possam monitorar e gerenciar o alto uso de computação. Isso pode permitir que eles tomem medidas oportunas para evitar estouros de custos.
- Implemente o gerenciamento de carga de trabalho. Programe trabalhos de execução de log em horários escalonados com base na disponibilidade de recursos e na demanda do sistema para otimizar o uso da capacidade. Para obter mais informações, consulte Gerenciamento da carga de trabalho.
Lembre-se destas considerações:
- O preço do Data Lake Storage depende do volume de dados armazenados e da frequência com que os dados são usados. O preço de exemplo inclui 1 TB de dados armazenados e outras pressuposições transacionais. O 1 TB se refere ao tamanho do data lake, não ao tamanho do banco de dados herdado original.
- O preço do Fabric é baseado no preço de capacidade do SKU F do Fabric ou no preço Premium por Usuário. Os recursos sem servidor usam CPU e memória da capacidade dedicada adquirida.
- Os Hubs de Eventos faturam com base na camada, nas unidades de produtividade provisionadas e no tráfego de entrada recebido. O exemplo pressupõe uma unidade de produtividade na camada Standard em mais de um milhão de eventos por mês.
Excelência operacional
A Excelência operacional abrange os processos de operações que implantam uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.
O Fabric fornece muitos componentes para ajudar a gerenciar sua plataforma de dados. Cada um desses componentes dá suporte a operações exclusivas que você pode exibir no Microsoft Fabric Capacity Metrics app. Use o Fabric Capacity Metrics app para monitorar seu consumo de capacidade e tomar decisões informadas sobre como usar seus recursos de capacidade.
Eficiência de desempenho
A eficiência do desempenho é a capacidade de dimensionar a carga de trabalho para atender às demandas exigidas pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.
O Fabric fornece vários recursos para otimizar o desempenho em seus componentes. Essas ferramentas e práticas podem ajudar a gerenciar recursos de computação com eficiência, evitar sobrecarga e tomar decisões informadas sobre dimensionamento e otimização de cargas de trabalho.
Alguns dos principais recursos de eficiência de desempenho no Fabric incluem:
Bursting e smoothing, para garantir que as atividades com uso intensivo de CPU sejam concluídas rapidamente sem exigir um SKU mais alto. Agende essas atividades a qualquer hora do dia.
Limitação para atrasar ou rejeitar operações quando a capacidade tiver uma demanda de CPU sustentada acima do limite de SKU.
O Fabric Capacity Metrics app, para visualizar o uso da capacidade, otimizar o desempenho de artefatos e otimizar itens de alta computação. O aplicativo diferencia entre operações interativas (como consultas DAX) e operações em segundo plano (como atualizações de modelo semântico) para otimizações direcionadas.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Amit Chandra | Arquiteto de Soluções em Nuvem
- Nicholas Moore | Arquiteto de soluções de nuvem
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- o que é OneLake?
- O que é o Data Factory?
- O que é a engenharia de dados?
- O que é Ciência de Dados?
- O que é Inteligência em Tempo Real
- O que é o Power BI?
- Introdução ao Copilot no Fabric