Привет, Хабр!
Это вторая и последняя статья из цикла «Архитектура аналитической платформы». Поговорим об общем устройстве BI-системы и подробнее остановимся на анатомии Modus BI.
Анатомия BI-системы
В классическом DW/BI есть несколько составляющих:
-

Интерфейс загрузки данных из Excel Пользователь выбирает загружаемый файл, настраивает колонки, строки и тип загружаемых данных. Автоматически создается таблица и туда загружаются данные, создается набор данных.
У нас есть self-service механизм, с помощью которого пользователь может вносить данные в аналитический портал. Для этого достаточно описать набор данных, который будет заполняться, нарисовать форму и разместить на ней элементы. Аналитик или администратор без программирования могут настроить свободные формы ввода данных, а консолидированная информация по ним отобразится в отчетах. При этом можно настроить ограничения как на уровне доступа к самим формам, так и на уровне доступа к данным.
Интерфейс аналитического портала Modus BI (демо-пример) Аналитический портал
Из источников данные попадают в конечный пункт – аналитический портал.
У нас это

Провайдер аутентификации -
Настройка ролей, доступов и

Настройка роли пользователя Профили RLS ограничивают просмотр записей на уровне строк. Это нужно, чтобы пользователи, у которых есть доступ только к определенной части информации, могли просматривать только ее. Например, в одном наборе данных может быть информация по всей России, а руководитель подразделения должен видеть информацию только по своему региону.
При использовании внешних сервисов аутентификации очень важна связь данных пользователя из внешней системы с ролями и настройками в BI-системе. Протоколы SAML и OAuth 2 передают различную информацию, связанную с настройками учетной записи. В Modus BI мы можем настраивать взаимосвязь между передаваемыми настройками и настройками доступа на портале (гибкая модель доступа к данным).
-
Хранение настроек и метаданных
Для хранения метаинформации BIсистема должна иметь внутреннюю базу данных. Это могут быть как классические реляционные СУБД, так и NoSQL базы данных. Мы используем базу метаданных на PostgreSQL. В ней хранятся списки пользователей, настройки, отчеты и т.п.
-
Кэширование данных
Для быстрой отдачи «горячей» информации BI-система может использовать кэширующий слой. В качестве кэша могут использовать как собственные наработки, так и open-source решения.
У нас в Modus BI также есть слой кэширования. Он сохраняет историю и в следующий раз вернет данные на аналогичный запрос в разы быстрее. Если данных в кэше нет, то они запрашиваются из источника и сохраняются в кэше. Это очень ускоряет работу. Например, получение данных из ClickHouse может занимать 500 миллисекунд-10 секунд, а из кэша — 1-100 миллисекунд.
-
Корректировка данных «на лету»
Часто бывает нужно «поправить» данные в хранилище, не проделывая длинный путь «корректировка в источнике — обновление слоя сырых данных — слой ядра хранилища — витрины». Для этого можно корректировать данные напрямую в дашборде. К примеру, в таблице есть числовой показатель, и пользователь хочет его отредактировать. Он заходит в дашборд, выбирает нужную запись и редактирует показатель. И это изменение сразу же влияет на связанные с ним панели.
-
Общий доступ к дашбордам и встраивание в другие ресурсы
В BI есть возможность сделать отдельные дашборды общедоступными. Это полезно, если вы хотите поделиться своей работой с коллегами или начальством. Также можно встроить дашборды через iframe на сторонние сайты и сервисы, чтобы все пользователи видели графики и диаграммы, например, на сайте компании.
-
Конструктор (настройка) дашбордов
Конструктор дашбордов – это инструмент self-service, с помощью которого пользователь настраивает визуализации и дашборды. Все

Конструктор дашборда -
Настройка верстки
Для того, чтобы одни и те же дашборды были удобными на разных устройствах, пользователь настраивает расположение элементов отдельно для каждого разрешения: горизонтальный и вертикальный варианты для планшетов, масштаб для обычных и широкоформатных мониторов.
Компоновка дашборда для различных разрешений экрана -
Фильтрация
При просмотре дашбордов пользователю обычно интересен не весь массив данных, а только его часть. Поэтому существуют локальные и глобальные фильтры. Комбинацию значений можно сохранять в фильтр-сеты, и они становятся доступными другим пользователям. При применении различных фильтров дашборд автоматически перестраивается. При этом фильтр-сет можно применить и к другому связанному дашборду.
-
Экспорт дашборда и отчетов
Пользователь может выгрузить один элемент дашборда или весь дашборд целиком. Если предстоит экспорт одного элемента, то его можно вывести в виде картинки или в шаблон Excel-файла: можно заранее установить шаблон оформления в корпоративном стиле. Общий холст дашборда можно выгрузить в виде изображения (png или jpeg) или в презентацию pptx. Это очень удобно, например, для показа на планерках.
Вместо итогов
-
BI-система включает в себя ETL-процессы, DWH и непосредственно саму аналитическую платформу, которая может быть в виде десктоп-клиента или web-портала.
-
Данные для BI должны быть подготовлены: нормализованы и очищены, иначе вы получите кривую аналитику. Для этого удобно использовать ETL-инструменты.
-
В качестве источника данных для аналитической платформы используются хранилища данных (DWH) и OLAP-системы. В качестве исключения могут использоваться неструктурированные данные, в том числе Excel-файлы.
-
Скорость работы BI зависит, помимо прочего, от выбранной СУБД (DWH) и ее архитектуры.
-
Кроме визуализации данных у BI-систем есть широкий список функций для работы с данными: настройка ролей доступа пользователей, в том числе и на уровне строк данных (RLS), встраивание в другие сервисы, хранение и редактирование данных, фильтрация, экспорт дашбордов и т.п.
BI-системы, в целом – это удобный инструмент для компаний с большим количеством данных или их источников. Это направление сейчас активно развивается в сторону self-service и low(no)-code, поэтому занимает меньше времени по сравнению с классическими методами аналитики «на коленке» в Excel.
Кроме того, системы постоянно развиваются и «обрастают» дополнительным функционалом. Например, мы в этом году планируем выпустить функционал, с помощью которого можно разрабатывать и подгружать в портал свои визуальные компоненты.
-
-
-
ссылка на оригинал статьи https://habr.com/ru/articles/758240/




Добавить комментарий