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


Масштабирование семантической модели Power BI

Горизонтальное масштабирование семантической модели помогает Power BI обеспечить быструю производительность, пока отчеты и панели мониторинга используются большой аудиторией. Масштабирование семантической модели использует емкость Premium для размещения одной или нескольких реплик только для чтения основной семантической модели. Увеличив пропускную способность, реплики только для чтения гарантируют, что производительность не замедляется при одновременном отправке нескольких пользователей запросов.

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

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

Метод refresh Sync
Пользовательский интерфейс OnDemand Всегда синхронизируется
Запланированное обновление Всегда синхронизируется
Базовый REST API Требуется синхронизация вручную 1
Расширенный REST API Требуется синхронизация вручную 1
XML для аналитики Требуется синхронизация вручную 1

1 — значение autoSyncReadOnlyReplicas false.queryScaleOutSettings

Управление репликами

Горизонтальное масштабирование создает одну семантику семантической модели чтения и столько реплик, доступных только для чтения. Все операции записи направляются в реплику чтения и записи. Это включает запросы на сеансы, предназначенные для реплики чтения и записи явно, то есть не используются ?readonly в строка подключения. Эти запросы могут привести к высокой интерактивной загрузке ЦП на реплике чтения и записи. В таких случаях новая реплика не создается, так как нагрузка запроса, предназначенная для реплики чтения и записи, не может быть распределена по репликам только для чтения.

Количество реплик, доступных только для чтения, определяется на основе количества единиц ЦС, используемых запросами. Если спрос превышает вычислительные ресурсы, доступные в данный момент на узле, где загружается модель, и остается высокой, на другом узле может быть создана дополнительная реплика только для чтения для распределения нагрузки. Общее количество единиц ЦС, потребляемых всеми репликами в сочетании, однако не может превышать максимальное количество единиц ЦС, которое может использоваться одной моделью для заданного номера SKU емкости.

Например, определенная семантическая модель на емкости F64 будет иметь достаточно ресурсов на одном узле, чтобы использовать все разрешенные ЦС на этом номере SKU. Поэтому емкость F64 обычно не масштабируется за пределами одной реплики только для чтения. С другой стороны, емкости F256 и F1024+ скорее всего создают вторую реплику только для чтения, так как один узел может быть недостаточно для предоставления всех ЦС, которые разрешены использовать в емкости F256/F1024+.

QSO предназначен для использования доступной вычислительной мощности заданного номера SKU емкости как можно более эффективно и просто с наименьшим количеством реплик только для чтения и без затрат на управление для владельцев семантических моделей.

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

Реплика удаляется, когда использование cu для модели сокращается достаточно и постоянно остается достаточно низкой.

Необходимые компоненты

По умолчанию горизонтальное масштабирование включено для клиента, но оно не включено для семантических моделей в клиенте. Чтобы включить горизонтальное масштабирование для семантической модели, необходимо использовать REST API Power BI. Перед включением необходимо выполнить следующие предварительные требования:

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

  • Рабочая область находится в емкости Power BI Premium:

    • Премиум на пользователя (PPU)
    • Номера SKU Power BI Premium для P
    • Номера SKU Power BI для Power BI Embedded (также известные как внедрение для клиентов).
    • Номера SKU Fabric F
  • Параметр формата хранилища больших семантических моделей включен.

  • Для управления семантических моделей с помощью REST API используйте командлеты управления Power BI. Установите, открыв PowerShell в режиме администратора и выполнив команду:

    Install-Module -Name MicrosoftPowerBIMgmt
    
  • Следующие (или более поздние) приложения, библиотеки и службы поддерживают подключение к репликам только для чтения:

    Приложение, библиотека или служба Версия
    Поставщик OLE DB служб Microsoft Analysis Services для Microsoft SQL Server (MSOLAP) 16.0.20.201 (март 2022 г.)
    Microsoft.AnalysisServices.AdomdClient (ADOMD.NET) 19.36.0 (март 2022 г.)
    Power BI Desktop Июнь 2022 г.
    SQL Server Management Studio (SSMS) 19,0
    Табличный редактор 2 2.16.6
    Табличный редактор 3 3.2.3
    DAX Studio 3.0.0

Настройка горизонтального масштабирования для семантической модели

Сведения о включении или отключении горизонтального масштабирования для семантической модели или получении состояния горизонтального масштабирования с помощью PowerShell и REST API см. в статье "Настройка горизонтального масштабирования семантической модели".

Подключение к определенному типу семантической модели

При включении горизонтального масштабирования сохраняются следующие подключения:

  • По умолчанию Power BI Desktop подключается к реплике только для чтения.

  • Отчеты динамического подключения подключаются к реплике только для чтения.

  • Клиентские приложения XMLA подключаются к семантической модели чтения и записи по умолчанию.

  • Обновляется в служба Power BI и обновляется с помощью РАСШИРЕННОго REST API обновления, подключающегося к семантической модели чтения и записи.

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

  • Только для чтения - ?readonly
  • Чтение и запись - ?readwrite

Отключение горизонтального масштабирования семантической модели для клиента

Масштабирование семантической модели Power BI включено по умолчанию для клиента. Администраторы клиента Power BI могут отключить этот параметр. Чтобы отключить горизонтальное масштабирование семантической модели для клиента, сделайте следующее:

  1. Перейдите к параметрам клиента.

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

  3. Переключите переключатель на "Отключено".

  4. Выберите Применить.

    Снимок экрана: отключение параметров клиента горизонтального масштабирования на портале администрирования Power BI.

Рекомендации и ограничения

  • Клиентские приложения могут подключаться к реплике только для чтения через конечную точку XMLA, если они поддерживают режим, указанный в строка подключения. Клиентские приложения также могут подключаться к экземпляру чтения и записи с помощью конечной точки XMLA.

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

  • При отключенной автоматической синхронизации обновления и обновления XMLA необходимо синхронизировать с копиями семантической модели только для чтения с помощью REST API синхронизации.

  • При удалении семантической модели Power BI горизонтального масштабирования и создании другой семантической модели с тем же именем предоставьте пять минут перед созданием новой семантической модели. Для удаления реплик основной семантической модели может потребоваться некоторое время.

  • Если включена семантическая модель Power BI, а autoSyncReadOnlyReplicas=falseизменения в следующих функциях не поддерживаются:

    • Добавление или удаление ролей
    • Обновление набора членства в роли для любой роли
    • Изменение источника данных
    • Удаление источников данных, используемых DirectQuery или двойной таблицей
    • Изменения в выражениях безопасности на уровне объектов (OLS) или динамической безопасности на уровне строк (RLS)

    Чтобы внести изменения в эти функции, отключите горизонтальное масштабирование и разрешите несколько минут для изменения перед повторной настройкой.

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

  • Отчеты, использующие динамическое подключение, всегда подключаются к реплике только для чтения, даже если используется ?readwriteстрока подключения. Однако в Power BI Desktop отчеты о динамическом подключении с помощью ?readwrite подключения к реплике чтения и записи.

  • Наборы строк динамического управления (DMV) DBSCHEMA_CATALOGS и DISCOVER_XML_METADATA возвращают данные реплики чтения и записи при использовании ?readonly в строка подключения.

  • Профилировщик SQL Server не работает с ?readonly строка подключения.

  • Эти операции активируют автоматическую синхронизацию даже при отключении автоматической синхронизации (AutoSync=Off).

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