Поделиться через


Ограничения материализованных представлений и известные проблемы

Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer

Источник материализованного представления

  • Исходная таблица материализованного представления:
    • Должен быть таблицей , в которой данные непосредственно приемуются, с помощью политики обновления или приема из команд запросов.
      • Использование используется свойство (см. инструкции .move extents и setNewIngestionTime для получения дополнительных сведений).
      • Перемещение экстентов в исходную таблицу материализованного представления, а не использование setNewIngestionTime может привести к сбою перемещения с одной из следующих ошибок:
        • 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).
  • Исходная таблица материализованного представления должна включать политику IngestionTime. Эта политика включена по умолчанию.
  • Если материализованное представление использует значение по умолчанию lookback, ingestion_time() его необходимо сохранить в запросе материализованного представления. Операторы, такие как mv-expand или pivot plugin , не сохраняют значение ingestion_time(), поэтому они не могут использоваться в материализованном представлении с помощью lookback. Дополнительные сведения см. в разделе о периоде Lookback.
  • Исходная таблица материализованного представления не может быть таблицей с политикой доступа к ограниченному представлению.
  • Материализованное представление не может быть создано поверх другого материализованного представления, если только первое материализованное представление не является агрегированием типа take_any(*) . См . материализованное представление по материализованному представлению.
  • Материализованные представления нельзя определить по внешним таблицам.

Предупреждение

  • Материализованное представление автоматически отключается системой, если изменения исходной таблицы материализованного представления или изменения данных приводят к несовместимости между материализованным запросом представления и ожидаемой схемой материализованного представления.
    • Чтобы избежать этой ошибки, материализованный запрос представления должен быть детерминированным. Например, подключаемые модули bag_unpack или сводной таблицы приводят к недетерминированной схеме.
    • При использовании агрегата и при arg_max(Timestamp, *) значении false изменения исходной autoUpdateSchema таблицы также могут привести к несоответствиям схемы.
      • Избегайте этого сбоя, определяя запрос представления как arg_max(Timestamp, Column1, Column2, ...)или используя autoUpdateSchema этот параметр.
  • Использование autoUpdateSchema может привести к необратимой потере данных при удалении столбцов в исходной таблице.
  • Мониторинг автоматического отключения материализованных представлений с помощью метрики MaterializedViewResult.
  • После устранения проблем несовместимости представление должно быть явно включено с помощью команды включения материализованного представления .

Влияние записей, полученных в исходную таблицу или удаленных из нее

  • Материализованное представление обрабатывает только новые записи, приема в исходную таблицу. Записи, удаленные из исходной таблицы, либо за данных обратимого удаления экстентов/, либо из-за / хранения или любой другой причины, не влияют на материализованное представление.
  • Материализованное представление имеет собственную политику хранения, которая не зависит от политики хранения исходной таблицы. Материализованное представление может содержать записи, которые отсутствуют в исходной таблице.

Базы данных подписчиков

  • Материализованные представления нельзя создавать в базах данных подписчиков. Базы данных подписчиков доступны только для чтения и материализованные представления требуют операций записи.
  • Материализованные представления нельзя создавать в сочетаниях клавиш базы данных. Сочетания клавиш базы данных — это доступные только для чтения представления и материализованные представления требуют операций записи.
  • Материализованные представления, определенные в базах данных лидеров, можно запрашивать от своих последователей, как и любую другую таблицу в лидере.

Другие

  • Функции курсора нельзя использовать поверх материализованных представлений.
  • Непрерывный экспорт из материализованного представления не поддерживается.