Определение времени разработки модели DirectQuery

Завершено

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

Исходная группа — это набор таблиц модели, связанных с источником данных. Различаются два типа дампа.

  • Импорт — представляет все таблицы в режиме хранения "Импорт", включая вычисляемые таблицы. В модели может быть только одна исходная группа импорта.
  • DirectQuery — представляет все таблицы в режиме хранения DirectQuery, относящиеся к конкретному источнику данных.

Примечание.

Модель импорта и модель DirectQuery составляют только одну исходную группу. При наличии нескольких исходных групп платформа модели называется составной моделью. Составные модели описаны в уроке 5.

Преимущества модели DirectQuery

Существует несколько преимуществ разработки модели DirectQuery.

Моделирование больших или быстро изменяющихся источников данных

Модель DirectQuery — это отличный выбор платформы, когда исходных данных много и/или они поступают с большой скоростью. Поскольку таблицы DirectQuery не требуют обновления, они хорошо подходят для больших хранилищ данных, таких как база данных хранилища данных. Это непрактично и неэффективно, если не невозможно, импортировать все базы данных хранилища данных в модель. Когда исходные данные быстро изменяются, а пользователи должны видеть текущие данные, модель DirectQuery может предоставлять результаты запросов практически в реальном времени.

Когда отчет запрашивает модель DirectQuery, Power BI передает эти запросы в базовый источник данных.

Схема модели DirectQuery со схемой типа

Принудительное применение RLS источником

DirectQuery также полезен, если в исходной базе данных принудительно применяется безопасность на уровне строк (RLS). Вместо репликации правил RLS в модели Power BI база исходная база данных может принудительно применять свои правила. Этот подход применим только для некоторых реляционных баз данных и включает настройку единого входа для источника данных набора данных. Дополнительные сведения см. в статье База данных SQL Azure с DirectQuery.

Ограничения к независимости данных

Если в вашей организации имеются политики безопасности в отношении ограничения данных, покидающие свои локальные хранилища, импортировать данные невозможно. Возможно, подойдет модель DirectQuery, которая подключается к локальному источнику данных. (Вы также можете установить сервер отчетов Power BI для локальной отчетности.)

Создание специализированных наборов данных

Как правило, режим DirectQuery поддерживает источники реляционной базы данных. Это связано с тем, что Power BI должно преобразовывать аналитические запросы в собственные запросы, понятные источнику данных.

Однако есть одно важное исключение. Вы можете подключиться к набору данных Power BI (или модели Azure Analysis Services) и преобразовать его в локальную модель DirectQuery. Локальная модель — это относительное понятие, описывающее связь модели с другой моделью. В этом случае исходный набор данных является удаленной моделью, а новый набор данных — локальной моделью. Эти модели связаны в цепочку. Цепочка — это термин, который используется для описания связанных моделей. Таким образом можно создать цепочку, включающую до трех моделей.

Эта возможность объединения моделей в цепочку позволяет персонализировать и/или расширить удаленную модель. Проще всего сделать это путем переименования объектов, таких как таблицы или столбцы, или добавления мер в локальную модель. Модель также можно расширить с помощью вычисляемых столбцов или вычисляемых таблиц, либо добавить новые таблицы импорта или DirectQuery. Однако эти расширения приводят к созданию новых исходных групп, что означает, что модель становится составной. Данный сценарий рассмотрен в уроке 5.

Дополнительные сведения см. в статье Об использовании DirectQuery для наборов данных Power BI и Служб Azure Analysis Services.

Ограничения модели DirectQuery

Существует множество ограничений, связанных с моделями DirectQuery, которые следует учитывать. Ниже приведены основные ограничения.

  • Поддерживаются не все источники данных. Как правило, поддерживаются только основные системы реляционных баз данных. Также поддерживаются наборы данных Power BI и модели Azure Analysis Services.

  • Все преобразования Power Query (M) недоступны, поскольку эти запросы должны преобразовываться в собственные запросы, которые распознаются исходными системами. Например, невозможно использовать преобразования сводки или отмены свертывания.

  • Производительность аналитических запросов может быть низкой, особенно если исходные системы не оптимизированы (с помощью индексов или материализованных представлений) или ресурсов для рабочей нагрузки аналитики недостаточно.

  • Аналитические запросы могут повлиять на производительность исходной системы. Это может привести к замедлению работы для всех рабочих нагрузок, включая операции OLTP.

Повышение производительности модели DirectQuery

Если существует обоснование для разработки модели DirectQuery, можно обойти некоторые ограничения двумя способами.

Оптимизация источников данных

Вы можете оптимизировать базу данных-источник, чтобы убедиться, что ожидаемая рабочая нагрузка аналитических запросов работает правильно. В частности, можно создавать индексы и материализованные представления и гарантировать, что база данных имеет достаточные ресурсы для всех рабочих нагрузок.

Совет

Рекомендуется всегда работать совместно с владельцем базы данных. Важно, чтобы они понимали дополнительную рабочую нагрузку, которую может наложить модель DirectQuery на базу данных.

Определяемые пользователем таблицы агрегирования DirectQuery

В модель DirectQuery можно добавить таблицы агрегирования, определяемые пользователем. Определяемые пользователем таблицы агрегирования — это специальные таблицы моделей, которые скрыты (от пользователей, вычислений и RLS). Они лучше всего работают при обработке запросов аналитики с более высоким уровнем детализации в отношении больших таблиц фактов. При настройке таблицы агрегирования для использования режима хранения DirectQuery она может запрашивать материализованное представление в источнике данных. Вы также можете задать таблицу агрегирования для использования режима хранения "Импорт" или включения автоматических агрегатов, и эти варианты описаны в уроке 4.

Дополнительные сведения см . в руководстве по модели DirectQuery в Power BI Desktop.