Архитектура платформы

Архитектура платформы

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

Платформа Visiology построена по микросервисной архитектуре, где все компоненты логически разделены по функциональным слоям. Ядром платформы является высокопроизводительное хранилище ДанКо на базе ClickHouse с собственным сервисом Formula Engine, обеспечивающим обработку аналитических запросов на языке DAX и управление Tabular Object Model (TOM).

Управление данными и интеграцию реализует сервис DMS, отвечающий за загрузку из внешних источников и настройку ETL-процессов. Визуальный слой включает сервисы для создания и отображения дашбордов (Dashboard Service, Designer, Viewer). Безопасность и разграничение доступа обеспечиваются связкой Keycloak и Workspace Service. Платформа также включает сервис ИИ-агентов Visiology Cortex, инструмент сбора данных Smart Forms, объектное хранилище MinIO и полноценный стек мониторинга (Observability) на базе Grafana, Loki, Prometheus и Tempo.

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

схема(updated) 4.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;

  • Visiology Cortex – это сервис искусственного интеллекта, предназначенный для расширения возможностей пользователей платформы. Сервис объединяет в себе специализированных ИИ-агентов, которые автоматизируют сложные задачи, ускоряют анализ данных, снижают нагрузку на аналитиков и позволяют бизнес-пользователям быстро получать точные ответы на интересующие вопросы. Сервис помогает пользователю в режиме чата:

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

    • без труда формировать комплексные меры для анализа и визуализации данных.

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

  • 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.

  • ETL DB – база данных, которая используется в процессе извлечения, преобразования и загрузки данных (ETL-процессов). Служит промежуточным хранилищем данных для последующего использования на платформе Visiology.

  • Smart Forms – инструмент, предназначенный для упрощения процесса сбора данных и отчетности в организациях. Позволяет создавать и настраивать веб-формы для сбора информации, которая затем может быть перенесена в аналитическую платформу Visiology.

  • edge – сервис для переноса данных между стендами.

  • onec-connector – сервис для загрузки данных из приложения “1C:Предприятие”.

  • onec-connector-db – база данных для хранения данных, полученных с помощью onec-connector.

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


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

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

На этой странице


Время чтения: 2 мин.


Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.