Partilhar via


O que são exibições de lago materializadas no Microsoft Fabric?

Observação

Esta funcionalidade está atualmente em pré-visualização.

As visualizações materializadas do lago são resultados pré-computados e armazenados de consultas SQL que podem ser atualizados a pedido ou segundo um agendamento. Pense nelas como "tabelas inteligentes" que contêm os resultados de transformações complexas, agregações ou junções – com estratégias inteligentes de atualização para manter os dados atualizados.

Porque usar vistas materializadas para o lago?

Vistas materializadas de lagos resolvem desafios comuns de engenharia de dados:

  • Desempenho: Em vez de executar consultas dispendiosas repetidamente, os resultados são pré-computados e armazenados
  • Consistência: Todos acedem aos mesmos dados transformados, reduzindo discrepâncias
  • Eficiência: Só atualize quando os dados de origem realmente mudam, poupando recursos computacionais
  • Simplicidade: Defina transformações uma vez usando a sintaxe SQL familiar

Quando deve usar vistas materializadas para o lago?

Considere vistas materializadas para o lago quando tiver:

  • Agregações frequentemente acedidas (totais de vendas diárias, métricas mensais)
  • Junções complexas em várias tabelas grandes que são frequentemente consultadas
  • Transformações de qualidade dos dados que precisam de ser aplicadas de forma consistente
  • Conjuntos de dados de reporte que combinam dados de múltiplas fontes
  • Arquitetura Medallion onde necessita-se de transformações de bronze → prata → ouro

Não os use para:

  • Consultas únicas ou raramente acedidas
  • Transformações simples que correm rapidamente
  • Dados de streaming de alta frequência (considere Real-Time Intelligence para atualizações em menos de um segundo)

Como funcionam as vistas materializadas do lago?

As vistas materializadas do lago usam uma abordagem declarativa – defines O QUE queres, não COMO construir:

  1. Criar: Escrever SQL definindo a sua transformação
  2. Atualização: O Fabric determina a estratégia ótima de atualização (incremental, completo ou salto)
  3. Consulta: As aplicações consultam a visualização materializada como qualquer tabela
  4. Monitorizar: Acompanhar a qualidade dos dados, a linhagem e o estado de atualização

Capacidades chave

Otimização automática de atualização

O Fabric determina automaticamente quando e como atualizar as suas visualizações:

  • Atualização incremental: Processa apenas dados novos ou alterados
  • Atualização completa: Reconstrói toda a vista quando necessário
  • Saltar a atualização: Não é necessária atualização quando os dados de origem não mudaram

Qualidade dos dados incorporada

Defina regras diretamente no seu SQL e especifique como lidar com violações:

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Gestão de dependências

  • Visualiza como as vossas opiniões dependem umas das outras
  • Ordenação automática de atualização baseada em dependências
  • O processamento segue a cadeia de dependências para garantir a consistência dos dados

Monitorização e informações

  • Desempenho de atualização e status de execução
  • Veja métricas de qualidade dos dados e contagens de violações por linhagem
  • Monitorizar instâncias de trabalho e histórico de atualizações

Casos comuns de utilização

Painel de relatórios de vendas

-- Daily sales summary that refreshes automatically
CREATE MATERIALIZED LAKE VIEW daily_sales AS
SELECT 
    DATE(order_date) as sale_date,
    region,
    SUM(amount) as total_sales,
    COUNT(*) as order_count
FROM orders 
GROUP BY DATE(order_date), region;

Validação da qualidade dos dados

-- Clean customer data with quality rules
CREATE MATERIALIZED LAKE VIEW clean_customers (
    CONSTRAINT valid_email CHECK (email IS NOT NULL) ON MISMATCH DROP
) AS
SELECT 
    customer_id,
    TRIM(customer_name) as customer_name,
    LOWER(email) as email
FROM raw_customers
WHERE customer_name IS NOT NULL;

Arquitetura do medalhão

-- Bronze → Silver transformation
CREATE MATERIALIZED LAKE VIEW silver_products AS
SELECT 
    product_id,
    product_name,
    category,
    CAST(price as DECIMAL(10,2)) as price
FROM bronze_products
WHERE price > 0;

Observação

Este recurso não está atualmente disponível na região Centro-Sul dos EUA.

Limitações atuais

Os seguintes recursos não estão disponíveis no momento para exibições de lago materializadas no Microsoft Fabric:

  • Suporte de sintaxe declarativa para PySpark. Você pode usar a sintaxe do Spark SQL para criar e atualizar exibições de lago materializadas.
  • Linhagem cross-lakehouse e características de execução.