Режимы семантической модели в служба Power BI

В этой статье приведено техническое описание режимов семантической модели Power BI. Она применяется к семантических моделях, представляющих динамическое подключение к модели служб Analysis Services, размещенной во внешнем хранилище, а также к моделям, разработанным в Power BI Desktop. В этой статье подчеркивается обоснование каждого режима и возможные последствия для ресурсов емкости Power BI.

Три режима семантической модели:

Режим Import

Режим импорта — это наиболее распространенный режим, используемый для разработки семантических моделей. Этот режим обеспечивает быструю производительность благодаря запросу в памяти. Она также обеспечивает гибкость проектирования для моделей и поддержку конкретных функций служба Power BI (Q&A, Краткая аналитика и т. д.). Из-за этих сильных сторон это режим по умолчанию при создании нового решения Power BI Desktop.

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

При обновлении данные сжимаются и оптимизируются, а затем хранятся на диске подсистемой хранилища VertiPaq. При загрузке из диска в память можно увидеть 10-разовое сжатие. Поэтому разумно ожидать, что 10 ГБ исходных данных могут сжиматься до около 1 ГБ в размере. служба хранилища размер на диске может достигать 20 % от сжатого размера. Разницу в размере можно определить, сравнивая размер файла Power BI Desktop с использованием памяти диспетчера задач файла.

Гибкость проектирования может быть достигнута тремя способами.

  • Интеграция данных путем кэширования данных из потоков данных и внешних источников данных независимо от типа или формата источника данных.
  • Используйте весь набор языка формул Power Query M, называемого M, функциями при создании запросов подготовки данных.
  • При улучшении модели с помощью бизнес-логики примените весь набор функций выражений анализа данных (DAX ). Существует поддержка вычисляемых столбцов, вычисляемых таблиц и мер.

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

Diagram shows an Import model can integrate data from any number of external data source types.

Однако при наличии убедительных преимуществ, связанных с моделями импорта, также есть недостатки:

  • Для загрузки всей модели в память перед тем, как Power BI сможет запросить модель, которая может оказать давление на доступные ресурсы емкости, особенно при росте числа и размера моделей импорта.
  • Данные модели являются текущими только как последние обновления, поэтому необходимо обновить модели импорта, как правило, на запланированной основе.
  • Полное обновление удаляет все данные из всех таблиц и перезагрузит его из источника данных. Эта операция может быть дорогой с точки зрения времени и ресурсов для служба Power BI и источников данных.

Примечание.

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

С точки зрения служба Power BI ресурсов требуется импортировать модели:

  • Достаточно памяти для загрузки модели при запросе или обновлении.
  • Обработка ресурсов и дополнительных ресурсов памяти для обновления данных.

Режим DirectQuery

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

Diagram shows how DirectQuery model issues native queries to the underlying data source.

Существует две основные причины для разработки модели DirectQuery:

  • Если объемы данных слишком большие, даже если применяются методы сокращения данных, для загрузки в модель или практические обновления.
  • Когда отчеты и панели мониторинга должны доставлять данные почти в режиме реального времени , помимо того, что можно достичь в рамках запланированных ограничений обновления. Запланированные ограничения обновления — восемь раз в день для общей емкости и 48 раз в день для емкости Premium.

Существует несколько преимуществ, связанных с моделями DirectQuery:

  • Ограничения размера модели импорта не применяются.
  • Для моделей не требуется запланированное обновление данных.
  • Пользователи отчетов видят последние данные при взаимодействии с фильтрами отчетов и срезами. Кроме того, пользователи отчетов могут обновить весь отчет, чтобы получить текущие данные.
  • Отчеты в режиме реального времени можно разрабатывать с помощью функции автоматического обновления страницы.
  • Плитки панели мониторинга, основанные на моделях DirectQuery, могут обновляться автоматически так же часто, как каждые 15 минут.

Однако существуют некоторые ограничения, связанные с моделями DirectQuery:

  • Выражения Power Query/Mashup могут быть только функциями, которые можно транспонировать в собственные запросы, понятные источником данных.
  • Формулы DAX ограничены использованием только функций, которые можно транспонировать в собственные запросы, понятные источником данных. Вычисляемые таблицы не поддерживаются.
  • Краткая аналитика функции не поддерживаются.

С точки зрения ресурсов служба Power BI модели DirectQuery требуют:

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

Дополнительные сведения см. в разделе "Использование DirectQuery" в Power BI Desktop.

Составной режим

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

Режим хранения таблиц можно настроить как import, DirectQuery или Dual. Таблица, настроенная как режим двойного хранилища, является импортом и DirectQuery, и этот параметр позволяет служба Power BI определить наиболее эффективный режим использования на основе запроса по запросу.

Diagram shows that a Composite model is a combination of Import and DirectQuery storage modes, configured at table level.

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

Дополнительные сведения см. в статье "Использование составных моделей в Power BI Desktop".

Таблицы Pure Import и DirectQuery

Моделирующие данные, которые разрабатывают составные модели, скорее всего, настраивают таблицы типов измерений в режиме импорта или двойного хранения и таблицы типа фактов в режиме DirectQuery. Дополнительные сведения о ролях таблицы моделей см. в статье "Общие сведения о схеме звезды" и важности для Power BI.

Например, рассмотрим модель с таблицей типа "Продукт" в двойном режиме и таблицей фактов продаж в режиме DirectQuery. Таблицу Product можно эффективно и быстро запрашивать из памяти для отрисовки среза отчета. Таблица Sales также может запрашиваться в режиме DirectQuery со связанной таблицей Product . Последний запрос может включить создание одного эффективного собственного SQL-запроса, который присоединяет таблицы Product и Sales и фильтрует по значениям среза.

Гибридные таблицы

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

Screenshot shows a hybrid table partition with Archived, Incremental refresh, and Real time rows marked.

Самый простой способ создать гибридную таблицу — настроить политику добавочного обновления в Power BI Desktop и включить параметр "Получить последние данные в режиме реального времени" с помощью DirectQuery (только premium). Если Power BI применяет политику добавочного обновления с включенным параметром, она секционирует таблицу, например схему секционирования, отображаемую на предыдущей схеме. Чтобы обеспечить высокую производительность, настройте таблицы типов измерений в режиме двойного хранилища, чтобы Power BI могли создавать эффективные собственные sql-запросы при запросе к секции DirectQuery.

Примечание.

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

Кроме того, можно преобразовать таблицу импорта в гибридную таблицу, добавив секцию DirectQuery с помощью языка скриптов табличной модели (TMSL) или табличной объектной модели (TOM) или с помощью стороннего средства. Например, можно секционирование таблицы фактов, так что основная часть данных остается в хранилище данных, а импортируется только часть последних данных. Этот подход может помочь оптимизировать производительность, если большая часть этих данных является историческими данными, которые редко обращаются. Гибридная таблица может содержать несколько секций импорта, но только один раздел DirectQuery.