Чтобы полностью изучить технологию, вы должны хорошо понимать ее архитектуру. Если вы не знаете архитектуру технологии, то не сможете ею управлять. В этой учебной статье по архитектуре Power BI мы собираемся начать с самых азов, а затем постепенно продвинемся вверх, узнаем о компонентах Power BI и о том, как они работают. Мы также разберем принцип работы фронтенд и бэкенд Power BI, которые обеспечивают все его уникальные функции и возможности для анализа данных.
Давайте начнем и постараемся сформировать полное понимание концепции.
Архитектура Power BI
Power BI – это бизнес-пакет, включающий несколько технологий, которые работают вместе. Чтобы обеспечить первоклассные решения для бизнес-аналитики, технология Microsoft Power BI состоит из группы компонентов, таких как:
- Power Query (для объединения и преобразования данных)
- Power BI Desktop (инструмент для разработки сопутствующих услуг)
- Power BI Mobile (для телефонов Android, iOS, Windows)
- Power Pivot (для моделирования табличных данных в памяти)
- Power View (для просмотра визуализаций данных)
- Power Map (для визуализации трехмерных геопространственных данных)
- Power Q&A (для вопросов и ответов с использованием естественного языка)
Проще говоря, пользователь Power BI получает данные из различных источников данных, таких как файлы, Azure, онлайн-сервисы, DirectQuery или со шлюзов. Затем он работает с этими данными в клиентском инструменте разработки, таком как Power BI Desktop. Здесь импортированные данные очищаются и преобразуются в соответствии с требованиями пользователя.
Как только данные будут преобразованы и отформатированы, они готовы для использования при создании визуализаций в отчете. Отчет – это набор визуализаций, таких как графики, диаграммы, таблицы, фильтры и слайсеры.
Двигаясь по цепочке процессов, вы можете публиковать отчеты, созданные в Power BI Desktop, на двух видах платформ: Power BI Service и Power BI Report Server.
Power BI Service – это общедоступная облачная платформа, а Power BI Report Server – это локальная платформа, защищенная брандмауэром.
На этих платформах вы можете создавать информационные панели, прикрепляя визуализации к опубликованным отчетам. Кроме того, вы можете делиться своими панелями и отчетами и сотрудничать с другими пользователями из вашей организации или за ее пределами, используя такие инструменты взаимодействия, как веб-браузер, Power BI на iPad, планшеты, ноутбуки, телефоны и т.д.
Компоненты архитектуры Power BI
Давайте подробнее узнаем о компонентах архитектуры Power BI.
1. Источники данных
Широкий спектр источников данных является важной характеристикой Power BI. Вы можете импортировать данные из файлов вашей системы, облачных сетевых источников данных или напрямую подключаться к действующим соединениям. При импорте данных из локальных или онлайн-сервисов есть ограничение объема в 1 ГБ. Вот некоторые из часто используемых источников данных в Power BI:
- Excel
- Text/CSV
- XML
- JSON
- Oracle Database
- IBM DB2 Database
- MySQL Database
- PostgreSQL Database
- Sybase Database
- Teradata Database
- SAP HANA Database
- SAP Business Warehouse server
- Amazon Redshift
- Impala
- Google BigQuery (Бета-версия)
- Azure SQL Database
- Salesforce Reports
- Google Analytics
- GitHub
2. Power BI Desktop
Power BI Desktop – это инструмент на стороне клиента, известный как вспомогательный инструмент разработки.
Это ПО для ПК с инструментами и функциями для подключения к источникам данных, преобразования данных, моделирования данных и создания отчетов.
Вы можете бесплатно загрузить и установить Power BI Desktop. Используя функции Power BI Desktop, можно выполнять очистку данных, создавать бизнес-метрики и модели данных, определять отношения между данными, определять иерархии, создавать визуальные эффекты и публиковать отчеты.
3. Power BI Service
Power BI Service – это веб-платформа, на которой вы можете обмениваться отчетами, созданными в Power BI Desktop, сотрудничать с другими пользователями и создавать информационные панели.
Он доступен в трех версиях:
- Бесплатная версия
- Pro версия
- Премиум версия
Power BI Service также известен как «Power BI.com», «Power BI Workspace», «Сайт Power BI» и «Веб-портал Power BI». Этот компонент также предлагает расширенные функции, такие как вопросы и ответы на естественном языке и оповещения.
4. Power BI Report Server
Power BI Report Server похож на Power BI Service. Единственное различие между ними состоит в том, что Power BI Report Server является локальной платформой. Он используется организациями, которые не хотят публиковать свои отчеты в облаке и обеспокоены безопасностью своих данных.
Power BI Report Server позволяет создавать информационные панели и обмениваться отчетами с другими пользователями с соблюдением надлежащих протоколов безопасности. Чтобы воспользоваться этой услугой, вам нужна лицензия Power BI Premium.
5. Power BI Gateway
Этот компонент используется для подключения и доступа к локальным данным в защищенных сетях. Power BI Gateways обычно используются в организациях, где данные хранятся в безопасном режиме под наблюдением. Шлюзы помогают извлекать такие данные по защищенным каналам на платформы Power BI для анализа и составления отчетов.
6. Power BI Mobile
Power BI Mobile – это встроенное приложение Power BI, которое работает на мобильных устройствах iOS, Android и Windows. Приложение используется для просмотра отчетов и информационных панелей.
7. Power BI Embedded
Power BI Embedded предлагает API-интерфейсы, которые используются для встраивания визуальных элементов в пользовательские приложения.
Функционирование архитектуры Power BI
Теперь, когда мы поняли, как работают отдельные компоненты Power BI, давайте узнаем, как все эти компоненты функционируют в связке. Мы разберем архитектуру Power BI с помощью следующей диаграммы.
Если вы внимательно посмотрите, то увидите, что на диаграмме нумерация выполнена для каждого компонента в архитектуре. Кроме того, обратите внимание, что нижняя половина является локальной частью, а верхняя половина представляет облачные сервисы.
Начнем с того, что формирует отправную точку или источник всех данных, поступающих в компоненты Power BI. Power BI имеет функцию получения данных, с помощью которой вы можете подключаться к различным типам источников данных, таким как файлы, локальные или облачные базы данных, прямые подключения и т.д. Из этих источников данных устанавливаются подключения к таким инструментам разработки, как Power BI Desktop.
Локальные базы данных
Power BI Desktop – это сопутствующий инструмент разработки и публикации. Вы можете импортировать данные из источников данных в Power BI Desktop и использовать их для создания отчетов, а затем публиковать их в Power BI Service или Power BI Report Server.
Вы также можете публиковать книги Excel непосредственно с помощью Power BI Publisher для Excel на сервере отчетов Power BI. Инструменты SQL Server Data и Report Publisher помогают создавать наборы данных, КПЭ, мобильные отчеты, отчеты с разбивкой по страницам и т.д. Отчеты всех типов публикуются на сервере Power BI Report Server, откуда и передаются конечным пользователям.
Облачные базы данных
Важным компонентом в архитектуре Power BI является шлюз Power BI Gateway. Power BI Gateway действует как безопасный канал для передачи данных из локальных источников данных в облачные приложения или сайты.
На облачной стороне архитектуры находится множество компонентов. Полный пакет Power BI содержит потоки данных, наборы данных, информационные панели, отчеты, Power BI Embedded, Power BI Premium и т.д. Вы можете встраивать свои отчеты и информационные панели в Teams, SharePoint, пользовательские приложения и т.д. Они хорошо подсоединяются к инструментам Power BI через прямые подключения.
Наконец, есть аутентифицированные пользователи, которые делятся опубликованными отчетами и информационной панелью и сотрудничают друг с другом, чтобы принимать обоснованные решения на основе полученных данных. Есть различные типы пользователей, которые используют отчеты и информационные панели Power BI и подключаются через веб-браузеры, Excel, сторонние инструменты и мобильные устройства (iOS, Windows, приложения Android).
Power BI Service
Как мы узнали из предыдущих разделов, все отчеты, которые вы создаете в Power BI Desktop, публикуются на облачной платформе, известной как Power BI Service.
Пользователи могут получать доступ к отчетам и панелям из Power BI Service, используя клиентские платформы, такие как веб-сайты, мобильные устройства и т.д. Это означает, что каждый клиент, который хочет получить доступ к контенту, созданному в Power BI, должен взаимодействовать с Power BI Service. Поэтому нам стоит «заглянуть под капот» и узнать, как работает Power BI Service.
Архитектура Power BI Service состоит из двух частей:
- фронтенд
- бэкенд
Кластер фронтенд
Внешний интерфейс, также называемый интерфейсным веб-кластером, действует как посредник между клиентами и внутренним сервером. Внешние службы используются для установления начального соединения и проверки подлинности клиентов с помощью Azure Active Directory. Azure Active Directory хранит идентификационные данные пользователей.
Наряду с этим Azure Traffic Manager используется для направления пользовательских запросов в ближайший центр обработки данных после проверки подлинности. После проверки подлинности клиента/пользователя, Azure Content Delivery Network (CDN) распространяет статическое содержимое/файлы Power BI пользователям.
Кластер бэкенд
Сервисы Power BI на стороне сервера заботятся о визуализациях, наборах данных, хранилище, отчетах, подключениях к данным, обновлении данных и других взаимодействиях с Power BI. Для бэкенда веб-клиент имеет только две прямые точки взаимодействия – Azure API Management и Gateway Role. Эти два компонента отвечают за балансировку нагрузки, аутентификацию, авторизацию, маршрутизацию и т.д.
Работа Power BI Service
- Power BI хранит свои данные в двух основных хранилищах: Аzure block storage и Azure SQL database. В блочном хранилище Azure содержатся наборы данных, загруженные пользователями, а все метаданные и системные данные хранятся в базе данных SQL Azure.
- После того как Azure API Management аутентифицирует пользовательский запрос, он отправляет его в Gateway Role. Gateway Role обрабатывает запросы и направляет их к подходящим компонентам, таким как Presentation Role, Background Job Processing Role, Data Role и Data Movement Role.
- Для примера, Presentation Role обрабатывает все связанные с визуализацией запросы, например, для информационных панелей и отчетов.
- Для всех запросов, связанных с данными, Gateway Role отправляет запрос в Data Role или Data Movement Role.
- Бэкенд Power BI Service использует Azure Service Bus для подключения локальных источников данных к облаку. Azure Service Bus получает все запросы на выборку данных из локального источника данных. Затем сервис обрабатывает заявку и выполняет запрос на локальном источнике данных для извлечения данных из него в облачную службу.
- Azure Service Fabric управляет всеми микросервисами и компонентами, связанными с запуском Power BI.
- Azure AD Cache помогает создавать отчеты в режиме реального времени, используя данные, хранящиеся в оперативной памяти системы Power BI.
Резюме
На этом мы завершаем наше краткое руководство по архитектуре Power BI. Здесь мы узнали обо всех важных компонентах архитектуры Power BI, увидели, как они работают совместно, а также узнали о функционировании Power BI Service и описали, как она работает.
- Учебный центр по технологиям анализа данных и BI: расписание/запись на учебные курсы, тестирование разработчиков — https://education.biconsult.ru/
- Присоединяйтесь к QUBIC – сообщество профессионалов в области BI! Наши страницы в соц.сетях – расписание учебных курсов, бесплатные учебные материалы, анонсы мероприятий: https://vk.com/club165575964 и https://www.facebook.com/qubicspb
- Неофициальный форум разработчиков QlikView & Qlik Sense Russian forum
- Канал на Youtube – много обучающих видео и записи вебинаров
- Готовые решения “Конструктор финансовой отчетности” и “Анализ продаж”