Что более производительно? Пользовательские соединения / манипуляции с SQL или PowerBI

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

Наиболее распространенное программное обеспечение для приборных панелей (Tableau и PowerBI, не уверен в других) имеет функции, позволяющие использовать графический интерфейс для выполнения эквивалента команд SQL. У них также есть возможность просто выполнять прямой пользовательский SQL для получения данных.

Есть ли преимущество в производительности при использовании пользовательского SQL по сравнению с графическим интерфейсом пользователя? Использует ли графический интерфейс индексирование?


person Chase Meadows    schedule 29.05.2019    source источник
comment
Можно ли это всесторонне проверить за время, необходимое для того, чтобы задать вопрос?   -  person Strawberry    schedule 30.05.2019


Ответы (2)


Я не так много знаю о Tableau, но с Power BI большинство преобразований графического интерфейса преобразуются в SQL как «собственный запрос», который отправляется обратно на сервер. Подробнее об этом можно прочитать здесь:

http://blog.pragmaticworks.com/power-bi-checking-query-folding-with-view-native-query

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

person Alexis Olson    schedule 30.05.2019

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

Есть очень мало случаев, когда вам действительно нужно использовать собственный SQL с Tableau, скажем, если вы хотите вызвать конкретную функцию базы данных, но все типичные вещи, которые вам нужно сделать, объединить, объединить, фильтровать, выбрать, регистр, группу, агрегировать, выполнять вычисления доступны без жесткого кодирования SQL. Вы можете думать об источнике данных Tableau как о шаблоне для многих похожих запросов, а Tableau генерирует конкретный запрос из этого шаблона только для данных, необходимых для конкретной визуализации.

Если вы собираетесь использовать Tableau, найдите время, чтобы изучить его, а не просто копировать предыдущий SQL без изменений.

person Alex Blakemore    schedule 01.06.2019