Skip
BI4ALL BI4ALL
  • Expertise
    • Data Strategy & Governance
    • Data Visualisation
    • Inteligência Artificial
    • Low Code & Automation
    • Modern BI & Big Data
    • R&D Software Engineering
    • PMO, BA & UX/ UI Design
  • Knowledge Centre
    • Blog
    • Setores
    • Customer Success
    • Tech Talks
  • Sobre Nós
    • História
    • Board
    • Parceiros BI4ALL
    • Sustentabilidade
    • Prémios
    • Media Centre
  • Carreiras
  • Contactos
Português
Inglês
Página Anterior:
    Knowledge Center
  • Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)

Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)

Página Anterior: Blog
  • Knowledge Center
  • Blog
  • Fabric: nova plataforma de análise de dados
1 Junho 2023

Fabric: nova plataforma de análise de dados

Placeholder Image Alt
  • Knowledge Centre
  • Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)
10 Setembro 2025

Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)

Frameworks orientadas por metadados no Microsoft Fabric: Logging com Eventhouse (Parte 2)

Dando continuidade ao artigo anterior sobre frameworks orientadas por metadados baseadas em YAML, vamos falar sobre o logging – a parte da framework que, muitas vezes, fica invisível até algo falhar. Na Parte 1, o YAML ajudou-nos a substituir tabelas de configuração por definições mais limpas e controladas por versão. Agora, o logging garante a visibilidade necessária para perceber o que está realmente a acontecer dentro dos pipelines do Fabric.

Porque sem registos adequados, resolver uma execução falhada é como tentar arranjar um carro às escuras – sabe-se que algo avariou, mas não há qualquer pista sobre onde está o problema.

 

Porquê usar o Eventhouse para Logging?

Quando passámos a usar YAML para configurações, deixámos de armazenar metadados dos pipelines no warehouse ou em tabelas SQL para a configuração. Para o logging, optámos propositadamente pelo Eventhouse e a sua base de dados KQL.

Porquê? Porque o KQL foi feito exatamente para este tipo de trabalho:

  • Otimizado para ingestão → lida bem com grandes volumes de dados append-only (um encaixe natural para logs).
  • Consulta eficiente → o KQL foi desenhado para analisar rapidamente grandes volumes de dados, filtrando e agregando por tempo.
  • Análises em tempo real → os registos podem acionar eventos (por exemplo, através do Fabric Activator).
  • Suporte a séries temporais → ideal para acompanhar execuções de jobs e identificar padrões.

É exatamente assim que o Azure Monitor e o Log Analytics funcionam, por isso usar KQL no Fabric para logging não é reinventar a roda – é adotar um padrão já comprovado dentro do ecossistema Fabric.

Dito isto, a abordagem com Eventhouse não é isenta de limitações. Em SKUs mais baixos do Fabric, já observámos uma limitação de desempenho sob concorrência moderada a elevada. Mecanismos de retry (como exponential backoff) ajudam, mas são apenas soluções paliativas e não uma resolução definitiva.

 

Porque não Warehouse ou Lakehouse?

Embora tecnicamente os logs pudessem ser armazenados num Warehouse ou Lakehouse, na prática:

  • O Warehouse no Fabric tem suporte de escrita limitado a partir do Spark (não existe conector nativo; apenas via pyodbc ou soluções em pipelines).
  • O Lakehouse pode receber logs diretamente de notebooks, mas os pipelines não suportam escrita em tabelas Lakehouse — o que quebra a consistência do framework.
  • Concorrência → o Eventhouse é simplesmente mais eficiente a lidar com múltiplas escritas simultâneas do que o Warehouse ou Lakehouse.

Mesmo que o volume de registos “não seja assim tão elevado”, a capacidade de gestão de concorrência do KQL e a sua API de escrita simples fazem dele a escolha mais prática.

 

Como funciona o Logging no Framework

Capturamos registos em dois níveis: execução de pipelines de ingestão e orquestração global.

  1. Logging de Pipelines

Após cada pipeline de ingestão terminar, um passo genérico do pipeline chama uma atividade KQL que regista:

  • Nome da tabela de origem
  • Objeto/local de destino
  • Linhas ingeridas
  • Timestamps de início/fim
  • Duração, estado e métricas personalizadas
  1. Logging de Notebooks (orquestração)

Um único notebook de orquestração lê/analisa o YAML, constrói o DAG e executa as tarefas.

Em vez de adicionar código de logging em cada notebook, usamos um notebook wrapper.

    • O wrapper regista início/fim e estado de cada tarefa.
    • Captura erros de forma segura em qualquer célula do notebook chamado.
    • Regista o nome do processo, estado de execução (iniciado/completado/erro), timestamps de início/fim e mensagem de erro (quando aplicável).
    • Como o logging está centralizado, não é preciso alterar cada notebook individual, e a informação de falhas fica consistente (o que também ajuda em cenários de recuperação após uma falha).

O wrapper escreve cada entrada de log no Eventhouse usando o Kusto Spark Connector.


Isto dá-nos registos granulares de ingestão dos pipelines e registos de tarefas consistentes e centralizados da camada de orquestração — tudo no Eventhouse, para análise e resolução de problemas.

 

Conclusão

O logging não é apenas uma funcionalidade secundária; é a espinha dorsal de pipelines fiáveis.
Ao escolhermos o Eventhouse, alinhamos com os pontos fortes do Fabric — KQL para ingestão, análise e consultas de séries temporais — mantendo o registo de pipelines e notebooks consistente.

Outros motores também podem ser considerados, dependendo das necessidades:

  • Lakehouse / Warehouse → ambos baseados em tabelas Delta, mas com dificuldades em escritas de alta concorrência, embora possam servir para cenários de auditoria ou registo de baixa frequência.
  • Base de Dados SQL (atualmente em preview) → suporta inserções relacionais estruturadas, mas o consumo de CUs torna-o pouco atrativo para registo operacional de alto volume, especialmente em SKUs mais baixos.

Para a maioria dos cenários, o Eventhouse continua a ser a escolha natural: ingestão escalável, visibilidade em tempo real e análise de séries temporais integrada — exatamente o que o registo operacional exige.

Na próxima parte deste artigo, vamos explorar como foram configurados os pipelines de DevOps para deployment do YAML no Fabric, incluindo controlo de versões, promoção de ambientes e fluxos de aprovação.

Autor

Rui Francisco Gonçalves

Rui Francisco Gonçalves

Senior Specialist

Partilhar

Conteúdos relacionados

Visão 2026: O panorama completo das tendências em IA eBooks

Visão 2026: O panorama completo das tendências em IA

Este eBook reúne as principais tendências que irão marcar 2026, incluindo agentes inteligentes, IA invisível e física.

O Papel do Data Governance na construção de uma organização orientada a dados Blog

O Papel do Data Governance na construção de uma organização orientada a dados

Data Governance é a base de uma verdadeira organização data-enabled, transformando os dados num ativo estratégico, seguro e confiável que acelera a inovação e a geração de insights.

Acelerar a Transformação Digital através da Democratização dos Dados Use Cases

Acelerar a Transformação Digital através da Democratização dos Dados

A criação de uma arquitetura de dados descentralizada e orientada para o domínio permitiu democratizar o acesso, melhorar a qualidade e a governação dos dados.

Data Catalogue: Como transformar o Governance num plano de controlo estratégico Blog

Data Catalogue: Como transformar o Governance num plano de controlo estratégico

O Data Catalogue transforma o Data Governance num sistema estratégico e automatizado que liga pessoas, dados e políticas para gerar confiança e valor contínuo.

Reforçar a competitividade através de Data Strategy e Governance Use Cases

Reforçar a competitividade através de Data Strategy e Governance

A definição e implementação de uma estratégia e modelo de governação de dados permitiram alinhar dados com os objetivos de negócio, garantir conformidade e aumentar a eficiência e competitividade.

Avaliação da maturidade dos dados empresariais (DMA) para uma multinacional do setor industrial Use Cases

Avaliação da maturidade dos dados empresariais (DMA) para uma multinacional do setor industrial

Uma empresa multinacional de manufatura descentralizada implementou uma Avaliação de Maturidade de Dados personalizada para alinhar entidades independentes sob uma estratégia e estrutura de dados unificadas.

video title

Vamos começar

Tem uma questão? Quer iniciar um novo projeto?
Contacte-nos

Menu

  • Expertise
  • Knowledge Centre
  • Sobre Nós
  • Carreiras
  • Contactos

Mantenha-se atualizado e impulsione o sucesso com inovação

Newsletter

2026 Todos os direitos reservados

Política de Privacidade e Proteção de Dados Política de Segurança de Informação
URS - ISO 27001
URS - ISO 27701
Cookies Settings

BI4ALL may use cookies to memorise your login data, collect statistics to optimise the functionality of the website and to carry out marketing actions based on your interests.
You can customise the cookies used in .

Opções para ativar ou desativar cookies por preferência.

These cookies are essential to provide services available on our website and to enable you to use certain features on our website. Without these cookies, we cannot provide certain services on our website.

These cookies are used to provide a more personalised experience on our website and to remember the choices you make when using our website.

These cookies are used to recognise visitors when they return to our website. This enables us to personalise the content of the website for you, greet you by name and remember your preferences (for example, your choice of language or region).

These cookies are used to protect the security of our website and your data. This includes cookies that are used to enable you to log into secure areas of our website.

These cookies are used to collect information to analyse traffic on our website and understand how visitors are using our website. For example, these cookies can measure factors such as time spent on the website or pages visited, which will allow us to understand how we can improve our website for users. The information collected through these measurement and performance cookies does not identify any individual visitor.

These cookies are used to deliver advertisements that are more relevant to you and your interests. They are also used to limit the number of times you see an advertisement and to help measure the effectiveness of an advertising campaign. They may be placed by us or by third parties with our permission. They remember that you have visited a website and this information is shared with other organisations, such as advertisers.

Política de Privacidade