Compartilhar via


Atualização ideal para vistas materializadas do lago em uma casa de lago

Este artigo descreve os aspectos semânticos a serem considerados ao usar a atualização ideal para vistas materializadas do lago e descreve os modos de atualização disponíveis para vistas materializadas do lago.

Modos de atualização para visões materializadas do lake

  • Atualização ideal: esse modo escolhe automaticamente a melhor estratégia de atualização para obter o desempenho máximo em suas vistas materializadas do lago — incremental, completa ou não atualizar.

  • Atualização completa: Esse modo força a recomputação completa para a vista materializada do lago.

Atualização ideal

A atualização ideal é projetada para melhorar a eficiência, a velocidade e o custo-benefício do gerenciamento de dados na plataforma Microsoft Fabric. Ele seleciona automaticamente a estratégia de atualização mais apropriada para maximizar o desempenho de atualização. As seguintes políticas de atualização são suportadas na atualização ideal:

Atualizar Política Description
Atualização incremental Uma atualização incremental processa apenas os dados alterados nas fontes referenciadas na definição de visões materializadas do data lake.
Sem atualização Se a origem permanecer inalterada, ou seja, se nenhuma alteração for detectada nas confirmações delta, o serviço ignorará a atualização. Esse comportamento salva o processamento desnecessário.
Atualização completa Uma atualização completa envolve avaliar todo o conjunto de dados de fontes dependentes sempre que qualquer modificação for feita na origem.

Importante

Para que a atualização incremental entre em vigor, é necessário configurar a propriedade CDF (feed de dados de alteração delta) para delta.enableChangeDataFeed=true em todas as fontes dependentes referenciadas na definição das vistas materializadas do lago. Para obter mais informações, consulte como habilitar o feed de alteração de dados.

Benefícios da atualização ideal

  • Menor custo: Menos computação e armazenamento são usados, especialmente quando as alterações de dados são mínimas, e a atualização é ignorada quando não há detecção de alterações no commit delta.

  • Eficiência aprimorada: ciclos de atualização mais rápidos ajudam você a fornecer insights mais recentes e acompanhar os dados em rápida alteração.

  • Economia de tempo: somente os dados alterados são processados, resultando em uma duração de atualização reduzida.

Expressão com suporte na atualização ideal para a estratégia de atualização incremental

Quando uma exibição de lago materializada é criada usando expressões com suporte, o Fabric pode executar atualizações incrementais. Se expressões sem suporte forem usadas em consultas, uma atualização completa ou nenhuma atualização será executada dependendo da alteração.

A tabela a seguir descreve as expressões com suporte:

Constructo do SQL Comentário
Expressão SELECT Expressões de suporte com funções determinísticas (embutidas). Funções não determinísticas e de janela levam à estratégia de atualização completa.
FROM
WHERE Há suporte apenas para funções embutidas determinísticas.
JUNÇÃO INTERNA
WITH Há suporte para expressões de tabela comuns
UNION ALL
Restrições de qualidade de dados Há suporte apenas para funções embutidas determinísticas em restrições.

Observação

Para obter melhores resultados, projete suas consultas usando apenas cláusulas com suporte. Qualquer uso de padrões sem suporte aciona uma reversão automática para uma estratégia de atualização completa.

Pontos-chave para a atualização ideal

  • Para otimizar o resultado, use expressões com suporte em suas consultas para que a estratégia de atualização incremental possa ser aplicada.
  • Há suporte para atualização incremental para dados que só são adicionados. Se os dados incluirem exclusões ou atualizações, o Fabric executará uma atualização completa.
  • Se você definir restrições de qualidade de dados na definição de visão materializada do lago de dados, a atualização incremental respeita e impõe essas restrições durante as atualizações.
  • Nenhum encargo adicional se aplica especificamente ao uso da atualização ideal. Você é cobrado com base no uso de computação durante as operações de atualização.
  • Em casos como conjuntos de dados de origem pequenos, o Fabric pode escolher a atualização completa em vez da incremental, considerando o desempenho obtido.

Como habilitar a propriedade de feed de dados de alteração

Para um refresh ideal, é necessário habilitar a propriedade de Change Data Feed (CDF) em todas as fontes dependentes.

O exemplo a seguir demonstra como habilitar o uso da instrução CREATE.

CREATE OR REPLACE MATERIALIZED LAKE VIEW silver.customer_orders
TBLPROPERTIES (delta.enableChangeDataFeed=true)
AS
SELECT 
    c.customerID,
    c.customerName,
    c.region,
    o.orderDate,
    o.orderAmount
FROM bronze.customers c INNER JOIN bronze.orders o
ON c.customerID = o.customerID

Você também pode usar a instrução ALTER TABLE nas tabelas de origem.

  ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Exemplo:

  ALTER TABLE bronze.customers SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
  ALTER TABLE bronze.orders SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Como habilitar o modo de atualização ideal

Por padrão, o modo de atualização ideal está habilitado para a linhagem. Caso contrário, siga as etapas abaixo:

  1. Navegue até a opção gerenciar a visualização materializada do lago e habilite a alternância Optimal refresh.

    Captura de tela que mostra o alternador para habilitar o modo de taxa de atualização ideal.

Atualização completa

Uma atualização completa realiza o recálculo completo da vista materializada do lago com base nos dados de origem.

Se for necessário reprocessar todos os dados em visualizações materializadas de lago, você pode desativar o alternador de atualização otimizada para alternar para o modo de atualização completa.

Captura de tela que mostra a alternância para o modo de atualização completo.

Ou

Para executar uma atualização completa de uma vista de lago materializada, você pode usar o seguinte comando:

REFRESH MATERIALIZED LAKE VIEW [workspace.lakehouse.schema].MLV_Identifier FULL

Observação

  • Se o nome do workspace contiver espaços, coloque-o em backticks: `My Workspace`.lakehouse.schema.view_name
  • Atualizar uma exibição materializada de lago que usa tabelas não delta como sua origem inicia uma atualização total.