Как повысить производительность Direct Query между службой Microsoft Power BI и нашей виртуальной машиной SQL? - PullRequest
0 голосов
/ 23 октября 2019

У нас есть виртуальная машина B4ms с SQL-сервером (а также веб-сервером). Мы установили Power BI Gateway для создания отчетов с предварительными данными.

В основном пользователь может подписываться на сервер и просматривать отчеты power bi в браузере.

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

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

Я знаю, что это довольно широкий вопрос, но, может быть, конкретно - есть ли способ улучшить соединение между виртуальной машиной и сервером PBI?

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Это будет зависеть от типа запроса, который вы выполняете / отправляете на SQL Server. Для ряда развернутых проектов я использовал Direct Query, чтобы размещать источники данных, по крайней мере, 50-100 ГБ, однако это были в основном стандартные хранилища данных Star Schema или определенная таблица отчетов, и оба будут иметь соответствующие индексы, охватывающие индексы или индексы хранилища столбцов, чтобы обеспечить более эффективный поиск данных. Это были экземпляры Azure SQL и On-Prem SQL.

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

Еще один способ увеличить скорость Direct Query - использовать Объединения в Power BI для хранения импортированного подмножества данных в Power BI. Если на уровень агрегации можно ответить на запрос, то он будет получен быстрее. Microsoft продемонстрировала это с помощью демонстрации «Триллион строк» ​​

С точки зрения проблем с прямым запросом Power BI, из числа клиентов, с которыми я взаимодействую, те, у которых есть проблемы с прямым запросом, имеют множествотаблиц в неэффективной схеме, выполняющих неоптимальные запросы к источнику данных, с рядом преобразований данных в DAX и плохо записанных показателей DAX, например, множество DISTINCT COUNTS & SWITCH.

ДляВ связи с установкой / обновлением последнего шлюза данных, поскольку оптимизация механизма Mash Up может ускорить его. Другой вариант - перенести базу данных в базу данных SQL Azure и устранить необходимость в шлюзе.

1 голос
/ 23 октября 2019

Для отчетов DirectQuery необходимо изучить сгенерированный SQL и оценить выполнение на SQL Server. Вы можете использовать Performance Analyzer в Power BI Desktop для захвата DAX и SQL, сгенерированных при взаимодействии модели DirectQuery с SQL Server, а затем использовать SQL Server Management Studio и Query Store дляизучить планы выполнения и варианты индексирования.

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