Este exemplo de carga de trabalho ilustra uma solução greenfield para criar uma plataforma de dados escalável usando o Microsoft Fabric e o paradigma de design lakehouse. O Fabric é uma plataforma que integra armazenamento, processamento e análise de dados. Uma casa de lago greenfield fornece um começo limpo para projetar um ecossistema de dados eficiente e preparado para o futuro.
Arquitetura
Transfira um ficheiro do Visio desta 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 alta taxa de transferência 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 deteçã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. Esta abordagem em duas vertentes oferece informações em tempo real, mantendo um registo fiável para exploração posterior.
Caminho frio: análise de lote
Os armazéns de dados, que dependem da semântica SQL relacional, são a abordagem convencional para a análise de dados históricos. No entanto, esse padrão evoluiu ao longo do tempo, e as lakehouses são o padrão atual da indústria para análise de dados em lote. Um lakehouse é construído sobre formatos de arquivo de código aberto e, ao contrário dos armazéns de dados tradicionais, atende a todos os tipos de dados: estruturados, semiestruturados e não estruturados. A camada de computação em um lakehouse é normalmente construída sobre a estrutura Apache Spark, que é o mecanismo preferido para processar big data devido à sua capacidade de computação distribuída e alto desempenho. O Fabric oferece uma experiência nativa de lakehouse baseada no formato de arquivo Delta Lake de código aberto e em um tempo de execução gerenciado do Spark.
Uma implementação lakehouse normalmente usa a arquitetura medalhão. 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 os negócios. Essa abordagem funciona em todas as organizações e setores. Embora esta seja a abordagem geral, você pode personalizá-la de acordo com suas necessidades. Essa arquitetura mostra como criar uma casa de lago usando componentes nativos do Fabric.
Ingestão de dados via Data Factory
(Ver passo 1 no diagrama.)
O recurso 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. Pode utilizar estas transformações para transformar dados utilizando uma interface gráfica semelhante à do Power Query. Essas transformações incluem 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 bancos de dados lakehouse, warehouse, Azure SQL e Kusto.
Dependendo de suas necessidades, você pode usar um ou ambos esses 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 gatilhos de eventos.
Transformações de dados
(Ver passo 2 no diagrama.)
Existem duas abordagens para a preparação e transformação de dados. Se preferir uma experiência code-first, você pode usar os blocos de anotações do Spark. Se preferir uma experiência low-code ou no-code, você pode usar fluxos de dados.
Os notebooks de malha 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. Eles também fornecem visualizações ricas e permitem o uso de texto Markdown. Os engenheiros de dados escrevem 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 usam para criar experimentos e modelos e para rastrear e implantar modelos.
Cada espaço de trabalho 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 qualquer configuração manual. Você também tem a flexibilidade de personalizar pools do Apache Spark de acordo com seus requisitos de engenharia de dados. Você pode dimensionar os nós, dimensionar automaticamente e alocar executores dinamicamente com base nos requisitos do trabalho do Spark. Para personalizações de tempo de execução do Spark, você pode usar ambientes. Em um ambiente, você pode configurar propriedades de computação, selecionar tempos de execução diferentes 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 gama de operações e, opcionalmente, carregá-los em um destino. Tradicionalmente, os engenheiros de dados gastam tempo significativo 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 extração, transformação e carregamento (ETL) usando pistas visuais no Power Query Online. O fluxo de dados preserva todas as etapas de transformação. Para executar outras tarefas ou carregar dados para um destino diferente após a transformação, crie um Pipeline de Dados e adicione a atividade Dataflow Gen2 à orquestração do pipeline.
Caminho quente: Análise em tempo real
O processamento de dados em tempo real é vital para as empresas que desejam se manter ágeis, tomar decisões informadas rapidamente e aproveitar os insights imediatos para melhorar as operações e as experiências dos clientes. No Fabric, esse recurso é fornecido pelo serviço Real-Time Intelligence. Ele inclui vários recursos do Fabric que são agrupados e acessíveis via 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.
O Real-Time Intelligence in Fabric permite análise e visualização de dados para cenários orientados a eventos, streaming de dados e logs de dados. Ele conecta dados baseados no 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, transformação, armazenamento, análise, visualização, rastreamento, IA e ações em tempo real de dados. Embora o nome do serviço use a expressão "Tempo Real", seus dados não precisam ser transmitidos em altas taxas e volumes. A Inteligência em Tempo Real fornece soluções orientadas para eventos, em vez de agendadas.
Ingestão em tempo real
(Ver passo 3 no diagrama.)
Fluxos de eventos é um recurso de malha que permite um método sem código para ingerir eventos em tempo real de várias fontes e enviá-los para destinos diferentes. Ele permite 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 fluxos de eventos suportam várias fontes de dados e destinos de dados. Você pode usar uma ampla variedade de conectores para fontes externas, como clusters Apache Kafka, feeds do Change Data Capture de banco de dados, fontes de streaming da AWS (Kinesis) e Google (GCP Pub/Sub).
Você cria um fluxo de eventos, adiciona fontes de dados de eventos ao fluxo, opcionalmente adiciona transformações para transformar os dados do evento e, em seguida, roteia os dados para destinos suportados. Fabric lakehouse é um dos destinos suportados, para que você possa transformar seus eventos em tempo real antes de ingeri-los em sua casa do lago. Os eventos em tempo real são convertidos no formato Delta Lake e, em seguida, armazenados nas tabelas designadas lakehouse. Esse padrão permite cenários de armazenamento de dados e análise histórica de seus dados em rápida movimentação.
Análise em tempo real
(Ver passo 4 no diagrama.)
Quando você usa o Real-Time Intelligence no Fabric, dependendo dos seus casos de uso, há dois caminhos típicos para streaming de dados: itens Reflex e eventhouses.
Um reflexo é um item de malha que permite que você reaja à ocorrência de uma condição de dados à medida que ela acontece. Essa reação pode ser uma simples mensagem de alerta via e-mail ou Microsoft Teams, ou pode envolver invocar uma ação personalizada acionando um fluxo do Power Automatic. Você também pode acionar qualquer item de tecido a partir de seus reflexos. Muitos casos de uso de observabilidade são suportados por reflexos, um dos quais é reagir ao streaming de dados à medida que chegam em fluxos de eventos.
Uma casa de eventos é uma coleção de um ou mais bancos de dados KQL (Kusto Query Language). Os bancos de dados KQL são projetados para eventos de streaming baseados no tempo de dados estruturados, semiestruturados e não estruturados. Os dados são automaticamente indexados e particionados com base no tempo de ingestão, o que fornece recursos de consulta analítica rápidos e complexos, mesmo quando os dados são transmitidos. Os dados armazenados em casas de eventos podem ser disponibilizados no OneLake para uso por outros processos de malha. Você pode consultar esses dados usando várias opções de código, low-code ou no-code no Fabric, incluindo KQL nativo e T-SQL no conjunto de consultas KQL.
Os painéis em tempo real são projetados para fornecer informações imediatas do fluxo de dados para suas salas de eventos. Você pode adicionar vários tipos de elementos visuais a um painel, como gráficos e tabelas, e personalizá-los para atender às suas necessidades. Os painéis em tempo real servem o propósito específico de identificar rapidamente tendências e anomalias em dados de alta velocidade que chegam a uma casa de eventos. Eles são diferentes dos painéis do Power BI, que são adequados para cargas de trabalho de relatórios de BI corporativos.
Fornecimento de dados
(Ver passo 5 no diagrama.)
Há várias opções low-code ou pro-code disponíveis para consumir dados de lakehouses e eventhouses do Fabric.
Ponto de extremidade de análise SQL
Um ponto de extremidade de análise SQL é gerado automaticamente para cada lakehouse no Fabric. Um ponto de extremidade de análise SQL é somente leitura. Para modificar dados, você precisa alternar para o modo lakehouse e usar o Spark. Você pode usar o ponto de extremidade de análise SQL diretamente no portal 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 de negócios em uma equipe de dados.
Blocos de anotações Spark
Os blocos de anotações são uma maneira popular de interagir com dados de 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 escrevem 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, para criar experimentos e modelos de aprendizado de máquina e para 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 pré-construído. Ele é criado automaticamente quando você configura uma casa de lago e carrega dados nela. Esses modelos herdam a lógica de negócios da lakehouse para facilitar a criação de relatórios e painéis do Power BI diretamente na experiência 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 uma lakehouse, você pode usar o modo Direct Lake, que não exige a importação de dados separadamente. Esse modo permite que você obtenha desempenho na memória em seus relatórios sem mover seus dados para fora da casa do lago.
APIs Personalizadas
O Fabric fornece uma superfície de API rica em todos os seus itens. O OneLake fornece acesso aberto a todos os itens do Fabric por meio de APIs e SDKs do Armazenamento do Azure Data Lake. Você pode acessar seus dados no OneLake por meio de qualquer API, SDK ou ferramenta compatível com o Armazenamento Data Lake usando apenas um URI do OneLake. Você pode carregar dados em uma 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 oferece suporte ao driver do Sistema de Arquivos de Blob do Azure (ABFS) para obter mais compatibilidade com o Armazenamento Data Lake e o Armazenamento de Blobs do Azure. Para consumir dados de streaming em aplicativos downstream, você pode enviar dados de fluxo de eventos por push para um ponto de extremidade de API personalizado. Em seguida, você pode consumir essa saída de streaming da Malha usando os Hubs de Eventos do Azure ou o protocolo AMQP ou Kafka.
Power Automate
O Power Automate é uma plataforma de aplicativos low-code que você pode usar para automatizar tarefas repetitivas e também manipular seus dados. O item reflex no Fabric suporta fluxos Power Automate como destino. Essa integração desbloqueia muitos casos de uso e permite que você acione ações downstream usando uma ampla gama de conectores, para sistemas Microsoft e não-Microsoft.
Componentes
Os seguintes componentes são usados nesta solução.
Fabric: uma plataforma de análise de dados de ponta a ponta baseada em nuvem projetada para empresas. Ele 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 ele 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 automatizada 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 recolha, 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.
Real-Time Intelligence: Um serviço que fornece recursos de ingestão e processamento de streaming. Ele permite que você obtenha insights de dados em fluxo constante para permitir uma tomada de decisão mais rápida com base 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 business intelligence para criar dashboards e relatórios interativos para visualizar dados e obter informações.
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 grande escala fornecendo um ambiente Apache Spark baseado em nuvem. O Azure Databricks também fornece governança comum em todo o seu conjunto de dados e recursos para habilitar casos de uso importantes, como ciência de dados, engenharia de dados, aprendizado de máquina, IA e análises baseadas em SQL.
O Azure Machine Learning pode substituir ou complementar as ferramentas nativas do Fabric Data Science. 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 on-line, monitore modelos para desvio e crie aplicativos personalizados de IA generativa.
Detalhes do cenário
Essa arquitetura é aplicável aos seguintes cenários:
- Organizações que estão começando de novo sem restrições de sistema herdado.
- 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 equilibre 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.
Esta 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
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Fiabilidade
A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
A malha replica automaticamente os recursos entre zonas de disponibilidade sem exigir qualquer configuração. Por exemplo, durante uma interrupção em toda a zona, nenhuma ação é necessária para recuperar uma zona. Em regiões suportadas, o Fabric pode se auto-curar e reequilibrar automaticamente para aproveitar uma zona saudável.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. 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 o uso do Fabric incluem:
Autenticação. Configure o logon único (SSO) na ID do Microsoft Entra para fornecer acesso de vários dispositivos e locais.
Controlo de acesso baseado em funções (RBAC). Implemente o controle de acesso baseado em espaço de trabalho para gerenciar quem pode acessar e interagir com conjuntos de dados específicos.
Segurança da rede. Use os controles de segurança de rede de entrada e saída do Fabric quando se conectar a dados ou serviços dentro ou fora da rede. Os principais recursos incluem acesso condicional, links privados, acesso a espaços de trabalho confiáveis 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 prestação de contas em toda a plataforma.
Para obter mais informações, consulte Segurança no Microsoft Fabric.
Otimização de Custos
A Otimização de Custos consiste em reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
O Fabric oferece reservas de capacidade para um determinado número de unidades de capacidade (UCs). As reservas de capacidade podem ajudá-lo 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 de capacidade correto, você pode provisionar capacidades de avaliação ou SKUs F pré-pagos para medir o tamanho real da capacidade de que você precisa 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 de e, em seguida, extrapole para chegar a uma estimativa de uso de para produção. O tecido fornece dimensionamento contínuo. Você pode começar com um tamanho de capacidade conservador e aumentar a escala se precisar de mais capacidade.
- Monitore padrões de uso. Acompanhe e analise regularmente seu uso para identificar horários de pico e fora de pico. Isso pode ajudá-lo a entender quando seus recursos são mais utilizados, para que você possa agendar tarefas não críticas fora dos horários de pico para evitar picos no uso da UC.
- 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 estouramento e alisamento. Use os recursos de bursting e suavização do Fabric para lidar com atividades intensivas de CPU sem exigir uma SKU mais alta. Isso pode ajudá-lo 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. Fazê-lo pode permitir-lhes tomar medidas atempadas para evitar derrapagens de custos.
- Implementar o gerenciamento de carga de trabalho. Agende 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 de carga de trabalho.
Tenha também estas considerações em mente:
- O preço do Armazenamento Data Lake depende da quantidade de dados armazenados e da frequência com que os utiliza. O preço de amostra inclui 1 TB de dados armazenados e outras suposições transacionais. O 1 TB refere-se ao tamanho do data lake, não ao tamanho original do banco de dados herdado.
- O preço da malha é baseado no preço de capacidade do Fabric F SKU ou no preço Premium por usuário. As capacidades sem servidor consomem CPU e memória da capacidade dedicada adquirida.
- Os Hubs de Eventos faturam com base na camada, nas unidades de taxa de transferência provisionadas e no tráfego de entrada recebido. O exemplo pressupõe uma unidade de taxa de transferência na camada Standard mais de um milhão de eventos por mês.
Excelência Operacional
A Excelência Operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na 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 ajudá-lo a gerenciar sua plataforma de dados. Cada um desses componentes oferece suporte a operações exclusivas que você pode exibir no aplicativo Microsoft Fabric Capacity Metrics. Use o aplicativo Fabric Capacity Metrics para monitorar seu consumo de capacidade e tomar decisões informadas sobre como usar seus recursos de capacidade.
Eficiência de Desempenho
Eficiência de desempenho é a capacidade de sua carga de trabalho de escalar para atender às demandas colocadas pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de revisão de projeto para eficiência de desempenho.
O Fabric fornece vários recursos para otimizar o desempenho em todos os seus componentes. Essas ferramentas e práticas podem ajudá-lo a gerenciar recursos de computação de forma eficaz, 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 suavização, para garantir que as atividades com uso intensivo de CPU sejam concluídas rapidamente sem a necessidade de uma SKU mais alta. Agende estas atividades a qualquer hora do dia.
Limitação, para atrasar ou rejeitar operações quando a capacidade experimenta uma demanda sustentada de CPU acima do limite de SKU.
O aplicativo Fabric Capacity Metrics 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.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Amit Chandra - Brasil | Arquiteto de Soluções Cloud
- Nicholas Moore - Brasil | Arquiteto de Soluções Cloud
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- O que é OneLake?
- O que é o Data Factory?
- O que é engenharia de dados?
- O que é Ciência de Dados?
- O que é Real-Time Intelligence?
- O que é Power BI?
- Introdução ao Copilot em Tecido