Структура платформы

Высокоуровневая архитектура платформы

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

Ниже представлена высокоуровневая архитектура платформы Visiology с кратким описанием ее основных компонентов.

схема(1).png

В состав платформы входят следующие компоненты:

  • ДанКо – высокопроизводительное хранилище данных, реализованное на основе ClickHouse. Это логическое объединение нескольких компонентов:

    • Formula Engine – бэкенд-сервис, реализующий Tabular Object Model c помощью ClickHouse. Основные функции:

      • хранение и управление TOM-моделью (Tabular Object Model);

      • хранение больших объемов данных;

      • обработка аналитических запросов на языке DAX;

      • построение оптимальных структур хранения и индексов для более быстрой обработки DAX-запросов;

      • кэширование DAX-запросов;

      • хранение прав доступа к наборам данных.

    • MinIO – простое объектное хранилище, поддерживающее S3 протокол, репликацию, масштабирование, отказоустойчивость и аутентификацию. В данный момент там хранятся временные Excel- и CSV-файлы для загрузки данных в ClickHouse.

    • Data Management Service (DMS) – бэкенд-сервис, предоставляющий доступ к следующим функциональным возможностям:

      • хранение, чтение и редактирование ER-диаграммы для TOM (Tabular Object Model);

      • загрузка данных из различных источников с настройкой маппинга (автоматическая и по запросу):

        • CSV;

        • JDBC-совместимые базы данных;

        • Excel.

      • Настройка расписаний автоматической загрузки данных.

    • JDBC Bridge – работает как простой прокси-сервер без сохранения состояния, который передает SQL-запросы из ClickHouse на внешние СУБД, поддерживающие JDBC-драйвер. Этот прокси-сервер позволяет ClickHouse подключаться к источникам данных с поддержкой JDBC для загрузки данных.

  • Dashboard Service – позволяет создавать и публиковать интерактивные отчеты (дашборды). Данный сервис предоставляет следующие возможности:

    • получение, редактирование и хранение дашбордов;

    • формирование DAX-запросов для получения данных;

    • экспорт данных в формате Excel;

    • взаимодействие с пользовательскими виджетами, темами, пользовательскими JavaScript-скриптами, картинками;

  • Visiology Designer - графический дизайнер, который работает в интернет-браузере (SPA-приложение). Предоставляет следующие возможности:

    • редактирование и просмотр существующих дашбордов;

    • редактирование и просмотр рабочих областей;

    • создание, удаление и просмотр списка наборов данных;

    • редактирование набора данных;

    • редактирование модели данных (ER-диаграммы);

    • загрузка данных и настройка автоматического обновления данных.

  • Dashboard Viewer – данный сервис отвечает за визуализацию виджетов на экране и обеспечивает выполнение следующих операций:

    • получение данных для виджетов; 

    • редактирование исходного кода виджета;

    • отображение виджетов на экране с учетом всех настроек;

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

  • Workspace Service - данный сервис позволяет взаимодействовать с рабочими областями и отвечает за выполнение следующих операций:

    • создание, изменение и удаление рабочих областей;

    • сопоставление ролей пользователей с пользователями или группами пользователей, зарегистрированными в Keycloak, а также хранение информации об этом. Каждый сервис, перед обработкой запроса на доступ, проверяет права пользователя через запрос к Workspace Service;

  • Keycloak – сервис авторизации, который предоставляет следующие функции:

    • создание, редактирование и удаление пользователей и групп для Visiology 3.x;

    • хранение глобальной роли GlobalAdmin в Keycloak и ее сопоставление с пользователями (глобальными администраторами);

    • интеграция с внешними системами авторизации, включая OpenID Connect, LDAP(S), Kerberos и SAML;

    • поддержка протокола OpenID Connect для аутентификации (все описанные сервисы используют этот протокол для аутентификации);

    • предоставление графического интерфейса для настройки Keycloak, включая все вышеупомянутые функциональные возможности.

  • PostgreSQL - база данных, которая используется только для Keycloak.

  • Мониторинг и анализ производительности (Observability) – включает в себя несколько компонентов для сбора, хранения и анализа логов, трассировок и метрик:

    • Grafana – инструмент для просмотра и анализа логов, трассировок и метрик, который подключается к Loki, Prometheus, Tempo и проходит авторизацию через Keycloak. Доступ к Grafana имеют только пользователи с глобальной ролью GlobalAdmin;

    • Loki – база данных для хранения логов;

    • Prometheus - база данных для хранения метрик;

    • Tempo - база данных для хранения трассировок;

    • Otelcol - сервис для сбора логов в режиме PUSH (все сервисы отправляют информацию в Otelcol) и последующей отправки этих логов, метрик и трассировок в Loki, Prometheus и Tempo.

  • Хранилище метаданных (PostgreSQL) - Для хранения метаданных всех компонентов платформы также используется PostgreSQL.

Для работы платформы используется веб-сервер nginx.

Разворачивание и использование

Платформа разворачивается администратором на сервере под управлением операционной системы Linux (см. Разворачивание платформы).

Клиентская часть платформы – Visiology Designer. Это веб-приложение, где загружаются данные, создаются и настраиваются дашборды. Для работы с приложением требуется интернет-браузер.

Номер текущей версии платформы отображается на кнопке в боковой панели Visiology дизайнера. Нажав на кнопку вы скопируете номер версии в буфер обмена:

version.png

Рабочий процесс

Создание дашбордов на платформе состоит из нескольких этапов:

  1. Загрузка данных и построение модели данных в Visiology Designer.

  2. Визуализация загруженных данных (построение дашбордов).

  3. Тонкая настройка созданных дашбордов: переименование виджетов, изменение шрифтов, добавление эффектов, замена цветов и т.д..

После создания и настройки дашбордов вы можете поделиться ими с коллегами. Более подробную информацию о всех шагах вы найдете в разделе Быстрый старт.


Смотрите также

Разворачивание платформы
Системные требования
Термины и определения