Compartilhar via


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

Observação

Esse recurso está atualmente em versão prévia.

As exibições de lago materializadas são resultados pré-compilados e armazenados de consultas SQL que podem ser atualizadas sob demanda ou em 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.

Por que usar vistas materializadas do lago?

As exibições de lago materializadas resolvem desafios comuns de engenharia de dados:

  • Desempenho: em vez de executar consultas caras repetidamente, os resultados são pré-compilados e armazenados
  • Consistência: todos acessam os mesmos dados transformados, reduzindo discrepâncias
  • Eficiência: atualizar somente quando os dados de origem forem realmente alterados, salvando recursos de computação
  • Simplicidade: definir transformações uma vez usando sintaxe SQL familiar

Quando você deve usar vistas materializadas do lago?

Considere as visões materializadas do lago quando disponível:

  • Agregações acessadas com frequência (totais diários de vendas, métricas mensais)
  • Junções complexas entre várias tabelas grandes que são consultadas com frequência
  • Transformações de qualidade de dados que precisam ser aplicadas consistentemente
  • Conjuntos de dados usados para relatórios que combinam dados de várias fontes
  • Medallion architecture em que você precisa de transformações de bronze → prata → ouro

Não os use para:

  • Consultas de acesso único ou raramente acessadas
  • Transformações simples que são executadas rapidamente
  • Dados de alta frequência em streaming (considere Real-Time Intelligence para atualizações em menos de um segundo)

Como funcionam as vistas materializadas do lago?

As exibições de lago materializadas usam uma abordagem declarativa - você define o que deseja, não COMO compilá-la:

  1. Criar: Escrever SQL definindo sua transformação
  2. Atualização: O Fabric determina a estratégia de atualização ideal (incremental, completa ou ignorar)
  3. Consulta: aplicativos consultam a exibição materializada como qualquer tabela
  4. Monitor: Acompanhar a qualidade dos dados, a linhagem e o status da atualização

Principais capacidades

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

O Fabric determina automaticamente quando e como atualizar seus modos de exibição:

  • Atualização incremental: processa apenas dados novos ou alterados
  • Atualização completa: reconstrói toda a visualização quando necessário
  • Ignorar atualização: nenhuma atualização necessária quando os dados de origem não forem alterados

Qualidade de dados interna

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

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Gerenciamento de dependências

  • Visualizar como suas visualizações dependem umas das outras
  • Atualização automática por ordem de dependências
  • O processamento segue a cadeia de dependências para garantir a consistência dos dados

Monitoramento e insights

  • Acompanhar o desempenho e o status de execução da atualização
  • Exibir métricas de qualidade de dados e contagens de violação na linhagem
  • Monitorar instâncias de trabalho e histórico de atualização

Casos de uso comuns

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 de qualidade de 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 de 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

No momento, esse recurso não está disponível na região Centro-Sul dos EUA.

Limitações atuais

No momento, os seguintes recursos não estão disponíveis 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 materializadas do lago.
  • Recursos de execução e linhagem cross-lakehouse.