внедрить современную сквозную систему отчетности на основе Power BI и Azure Synapse

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

Мне было интересно, могу ли я использовать Azure Synapse для подключения к данным клиентов и наиболее экономичным способом переноса данных в Azure и связывания их с рабочей областью Power BI в виде общего набора данных. Есть много возможностей, но важно, чтобы клиент чувствовал, что отчеты являются быстрыми и стабильными и, если возможно, могут справляться с почти реальным временем.

Мне кажется, что лазурные SSIS громоздкие и дорогие. Существуют ли механизмы, позволяющие дешево и быстро получать данные в лазурном режиме? Мне нужно хранилище данных (база данных SQL Azure) или лучше использовать озеро данных в качестве хранилища данных? Также необходимо выполнять инкрементную нагрузку. А что, если мне нужно сделать какие-то преобразования? Должен ли я использовать поток данных Power BI или мне нужно создать потоки данных Azure для этого?

Есть ли у кого-нибудь хороший опыт использования синапса (также с учетом DevOps) и получение для этого хорошей среды DEV, TEST и Prod? Или использование Synapse является драйвером затрат, и подойдет более простая реализация? Выскажите свое мнение, и если у вас есть ссылки на хорошие статьи, сделайте это. С нетерпением жду вашего ответа

с уважением Гейр


person Geir Forsmo    schedule 07.03.2021    source источник


Ответы (1)


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

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

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

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

Фабрика данных (также доступная как конвейер Synapse) без интеграции SSIS, как правило, является наименее дорогостоящим вариантом для перемещения больших объемов данных. Он позволяет использовать потоки данных для некоторых преобразований и имеет такие вещи, как инкрементная загрузка. Вывод в озеро данных, вероятно, прекрасен и наиболее рентабелен, хотя в некоторых сценариях может потребоваться что-то вроде экземпляра Azure SQL, если вам особенно нужны некоторые из этих функций.


Если они хотят истинного реального времени, это можно сделать, но ни один из этих инструментов на самом деле не создан для этого. В большинстве случаев 48 обновлений в день (то есть каждые 30 минут), доступных для емкости Premium, достаточно близки к реальному времени, если вы углубитесь в основную цель данного отчета.

Для истинной отчетности в реальном времени вы должны посмотреть на наборы данных push и / или потоковой передачи в Power BI и скормить их чем-то вроде приложения логики или, возможно, Stream Analytics. Существует множество ограничений с наборами данных push - более чем вероятно, что вы захотите настроить обычный отчет и набор данных Power BI, а затем добавить набор данных в реальном времени как отдельный объект в дополнение к этому.


Что касается DevOps, практически любую службу Azure можно интегрировать с конвейером. В дополнение к любому коду любые службы или параметры службы можно развернуть с помощью шаблон ARM или CLI скрипт.

Power BI улучшился за последние пару лет, чтобы обеспечить лучшую поддержку сред DevOps и dev / test / prod. Текущие передовые практики можно найти в документации Power BI: https://docs.microsoft.com/en-us/power-bi/create-reports/deployment-pipelines-best-practices

person SamaraSoucy    schedule 22.03.2021