Criar uma réplica quase em tempo real, somente leitura, de um Banco de Dados SQL do Azure no Fabric sem impactar a fonte.
→Usar Fabric Mirroring para Banco de Dados SQL do Azure.
Por quê: O Mirroring fornece replicação contínua de baixa latência de dados para o OneLake como tabelas Delta, ideal para análises em tempo real sem desenvolvimento de ETL.
Compartilhar um conjunto de dados com outro workspace ou acessar dados externos sem criar uma cópia.
→Criar um Atalho apontando para a tabela de lakehouse de origem ou local de dados externo.
Por quê: Atalhos funcionam como links simbólicos, fornecendo uma visão unificada dos dados no OneLake, evitando duplicação de dados, custos de armazenamento e problemas de sincronização.
Combinar dados de streaming de alta velocidade com dados históricos em lote para análises unificadas.
→Usar Eventstream para ingestão em tempo real e um Lakehouse com tabelas Delta Lake para armazenamento unificado.
Por quê: Eventstream lida com o caminho de streaming, enquanto as propriedades ACID do Delta Lake permitem que ele sirva como um alvo para anexos de streaming e atualizações em lote.
Habilitar análises baseadas em T-SQL e ciência de dados baseada em Python nos mesmos dados do lakehouse.
→Aproveitar o endpoint de análise SQL gerado automaticamente para o Lakehouse.
Por quê: O Fabric fornece acesso de motor duplo às mesmas tabelas Delta: um endpoint SQL para consultas T-SQL e o motor Spark para notebooks, sem duplicação de dados.
Ingerir dados de uma fonte de dados local (por exemplo, Oracle, SQL Server) para o Fabric.
→Instalar e configurar um gateway de dados local.
Por quê: O gateway atua como uma ponte segura, retransmitindo dados entre a rede local e o serviço de nuvem do Fabric sem expor a fonte à internet.
Processar automaticamente novos arquivos assim que eles chegam ao Azure Blob Storage.
→Usar um trigger de Evento de Armazenamento para o pipeline de dados, configurado para disparar em eventos de criação de blob.
Por quê: Triggers orientados por eventos fornecem menor latência e são mais eficientes do que o polling agendado, que pode perder dados ou ser executado desnecessariamente.
Implementar lógica de Dimensão de Alteração Lenta Tipo 2 ou processar fluxos de Change Data Capture (CDC).
→Usar a operação MERGE do Delta Lake com cláusulas `WHEN MATCHED` e `WHEN NOT MATCHED`.
Por quê: MERGE fornece capacidades atômicas de upsert (atualização/inserção/exclusão), que é a operação fundamental para manter registros históricos em padrões SCD2.
Transformar uma coluna de DataFrame contendo arrays aninhados de objetos em linhas separadas.
→Aplicar a função `explode()` à coluna de array em um notebook PySpark.
Por quê: `explode()` é a função Spark padrão para desagrupar arrays, criando uma nova linha para cada elemento no array.
Lidar com dados que chegam atrasados em uma agregação de streaming com estado (por exemplo, contagens por janela).
→Configurar uma marca d'água (watermark) na coluna de tempo do evento na consulta do Spark Structured Streaming.
Por quê: Watermarking define um limite de tempo para quanto tempo o motor esperará por dados atrasados, impedindo que o estado cresça indefinidamente enquanto garante a correção.
Realizar uma carga de dados incremental de um sistema de origem que possui uma coluna de timestamp, mas sem CDC.
→Implementar um padrão de alta marca d'água (high-watermark). Armazenar o timestamp máximo da última execução e usá-lo para filtrar a fonte na próxima execução.
Por quê: Este é um padrão eficiente e comum para extrair apenas registros novos ou atualizados sem a sobrecarga de varreduras completas de tabela ou a exigência de CDC formal.
Uma atividade de pipeline falha intermitentemente devido a problemas transitórios de rede ou carga do sistema de origem.
→Configurar a política de repetição da atividade com uma contagem especificada e intervalo de recuo exponencial.
Por quê: Cria resiliência no pipeline ao retentar automaticamente operações falhas, frequentemente resolvendo problemas transitórios sem intervenção manual.
Ingerir e consultar dados de telemetria ou log de alto volume e baixa latência para análise exploratória em tempo real.
→Ingerir dados em um Eventhouse e consultá-los usando a Linguagem de Consulta Kusto (KQL).
Por quê: Eventhouse (construído sobre o Azure Data Explorer) e KQL são projetados especificamente para análises de séries temporais e logs de alto desempenho.
Criar um pipeline único e reutilizável para carregar dezenas de tabelas que compartilham a mesma lógica de transformação.
→Usar uma abordagem orientada por metadados. Armazenar informações de origem/destino em uma tabela de controle e usar uma atividade ForEach para iterar e passar parâmetros para um pipeline filho genérico.
Por quê: Este padrão é altamente escalável e de fácil manutenção, evitando a duplicação e a sobrecarga de gerenciamento de criar pipelines separados para cada tabela.
Otimizar o desempenho de um Dataflow Gen2 que busca dados de um banco de dados relacional como SQL Server.
→Projetar transformações que possam ser "dobradas". Verificar o status de query folding no editor do Power Query.
Por quê: Query folding empurra a lógica de transformação para o motor do banco de dados de origem, o que é significativamente mais performático do que puxar todos os dados para o motor Spark para transformação.
Consultar uma tabela como ela existia em um ponto específico no passado para uma auditoria ou para recuperar de uma atualização acidental.
→Usar o recurso de viagem no tempo do Delta Lake com `VERSION AS OF` ou `TIMESTAMP AS OF` na consulta.
Por quê: O Delta Lake nativamente versiona cada transação, permitindo consultas de ponto no tempo sem a necessidade de snapshots ou backups manuais.