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


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

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

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

Режим Import

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

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

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

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

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

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

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

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

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

Замечание

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

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

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

Режим DirectQuery

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На схеме показано, что составная модель — это сочетание режимов хранения Import и DirectQuery, настроенных на уровне таблицы.

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

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

Таблицы Pure Import и DirectQuery

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

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

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

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

Снимок экрана показывает гибридную разбивку таблицы с пунктами

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

Замечание

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

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