Службы аналитики Azure и прямой запрос - PullRequest
1 голос
/ 04 октября 2019

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

IПопробуйте проиллюстрировать оба подхода с помощью следующей диаграммы. enter image description here

На диаграмме шаги 4 и 5 описывают доступ к данным в Azure Data Lake с помощью Power BI с Direct Query. Принимая во внимание, что шаги 4 и 6 описывают доступ к данным с помощью Power BI с помощью Azure Analysis Services.

Из моего собственного исследования Direct Query известен своими проблемами с производительностью, например

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

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

С другой стороны, в Azure Analysis Services (AAS) все запросы выполняются в памяти, в отличие от DirectQuery, и, следовательно, намного быстрее.

Итак, я хотел бы, чтобы вы могли поделиться своим опытом использования DirectQuery и AAS. ,Если бы вы могли сообщить мне, если я упустил какие-либо преимущества / недостатки использования технологии по сравнению с другими /

1 Ответ

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

Модель данных Power BI (PBI) - это облегченная версия службы аналитики. Если у вас открыт PBI Desktop, вы можете открыть диспетчер задач и увидеть, что в фоновом режиме есть экземпляр служб Analysis Services.

Power BI Desktop Analysis Services Instance

Службы Analysis Services будутможет хранить больше данных и не ограничивается размером набора данных 10 ГБ; кроме того, у вас есть и другие функции, основанные на корпоративной организации. Службы Analysis Services также могут работать с источником данных в режиме прямого запроса или импортировать данные, например Power BI.

В своем вопросе вы упомянули, что режим Direct Query «известен своими проблемами с производительностью», однако этозависеть от структуры и размера источника данных. Для ряда проектов, которые я развернул, я использовал Direct Query для размещения источников данных объемом не менее 50–100 ГБ, однако в основном это были стандартные хранилища данных Star Schema или определенная таблица отчетов, оба будут иметьсоответствующие индексы, закрывающие индексы или индексы хранилища столбцов, чтобы обеспечить более эффективный поиск данных. Режим прямого запроса будет замедляться из-за количества запросов, которые он имеет к источнику данных, на основе показателя, отношений и издержек соединения. Другим может быть количество визуалов на странице, поскольку каждый визуал является запросом, и каждый из них должен работать на источнике данных.

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

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

Итак, если вы хотите импортировать данные объемом более 10 ГБ, то службы Analysis Services - ваш лучший вариант. Если вы можете правильно настроить структуру данных, проблем с Power BI и Direct Query не должно быть.

Надеюсь, это поможет

...