Limitações de exibições materializadas e problemas conhecidos

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

A origem da exibição materializada

  • A tabela de origem de uma exibição materializada:
    • Deve ser uma tabela na qual os dados são ingeridos diretamente, usando uma política de atualização ou ingerindo de comandos de consulta.
      • O uso de extensões de movimentação ou substituição de extensões de outras tabelas para a tabela de origem da visualização materializada só é suportado se estiver usando setNewIngestionTime a propriedade como parte do comando mover extensões (consulte os comandos .move extents e .replace extents para obter mais detalhes).
      • Mover extensões para a tabela de origem de uma exibição materializada, enquanto não estiver usando setNewIngestionTime , pode falhar com um dos seguintes erros:
        • Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents.
        • Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view).
  • A tabela de origem de uma exibição materializada deve ter a política IngestionTime habilitada. Essa política é habilitada por padrão.
  • Se a exibição materializada usar um lookback (consulte propriedades com suporte), ela ingestion_time() deverá ser preservada na consulta da exibição materializada. Operadores como mv-expand ou pivot plugin não preservam o ingestion_time() e, portanto, não podem ser usados em uma exibição materializada com um lookback.
  • A tabela de origem de uma exibição materializada não pode ser uma tabela com política de acesso de exibição restrita.
  • Uma exibição materializada não pode ser criada sobre outra exibição materializada, a menos que a primeira exibição materializada seja de agregação de tipo take_any(*) . Veja a visão materializada sobre a visão materializada.
  • As exibições materializadas não podem ser definidas em tabelas externas.

Aviso

  • Uma exibição materializada será desabilitada automaticamente pelo sistema se as alterações na tabela de origem da exibição materializada ou as alterações nos dados levarem à incompatibilidade entre a consulta de exibição materializada e o esquema da exibição materializada esperada.
    • Para evitar esse erro, a consulta de exibição materializada deve ser determinística. Por exemplo, os plug-ins bag_unpack ou pivot resultam em um esquema não determinístico.
    • Ao usar uma arg_max(Timestamp, *) agregação e when autoUpdateSchema é false, as alterações na tabela de origem também podem levar a incompatibilidades de esquema.
      • Evite essa falha definindo a consulta de exibição como arg_max(Timestamp, Column1, Column2, ...)ou usando a autoUpdateSchema opção.
  • O uso autoUpdateSchema pode levar à perda irreversível de dados quando as colunas na tabela de origem são descartadas.
  • Monitore a desabilitação automática de exibições materializadas usando a métrica MaterializedViewResult.
  • Depois de corrigir problemas de incompatibilidade, a exibição deve ser explicitamente reativada usando o comando enable materialized view .

Impacto dos registros ingeridos ou descartados da tabela de origem

  • Uma exibição materializada processa apenas novos registros ingeridos na tabela de origem. Os registros removidos da tabela de origem, executando extensões de exclusão/reversível de limpeza/de dados ou devido à política de retenção ou por qualquer outro motivo, não têm impacto na exibição materializada.
  • A exibição materializada tem sua própria política de retenção, que é independente da política de retenção da tabela de origem. A exibição materializada pode incluir registros que não estão presentes na tabela de origem.

Bancos de dados de seguidores

  • As exibições materializadas não podem ser criadas em bancos de dados de seguidores. Os bancos de dados seguidores são somente leitura e as exibições materializadas exigem operações de gravação.
  • As exibições materializadas não podem ser criadas em atalhos de banco de dados. Os atalhos de banco de dados são somente leitura e as exibições materializadas exigem operações de gravação.
  • As exibições materializadas definidas em bancos de dados de líder podem ser consultadas de seus seguidores, como qualquer outra tabela no líder.

Outro

  • As funções de cursor não podem ser usadas sobre exibições materializadas.
  • Não há suporte para a exportação contínua de uma exibição materializada.