Системные требования и типовые конфигурации

В документе рассматриваются:

  1. Архитектура
  2. Требования к программному обеспечению
  3. Рекомендации по достижению лучших результатов при реализации проекта

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

Балансировщик нагрузки (nginx)

Web модуль BI (SiglaVision) — модуль для управления пользовательскими сессиями и обработки запросов в BI-системе. На разных уровнях решает следующие задачи:

  • уровень сетевой маршрутизации;
  • уровень бизнес-обработки.

Ключевой функционал Web-модуля: модуль поддерживает целостность сессий при одновременном эффективном распределении вычислительной нагрузки между серверными ресурсами, обеспечивая надёжность и оптимальную производительность системы.

Мастер узел — центральный компонент системы, отвечающий за координацию worker-процессов и управление метаданными.

Основные функции:

  • управление worker-процессами;
  • управление метаданными.

Ключевой функционал: модуль координирует взаимодействие между BI-узлами и worker-движками, обеспечивая эффективное распределение задач и доступ к данным через управление метаданными.

Вычислительный узел — выполняет задачи расчёта и задачи обновления данных, которые получает исполнительный компонент системы, состоящий из вычислительного узла и модуля мониторинга.

Основные компоненты:

  • вычислительный узел;
  • модуль мониторинга.

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

Хранилище данных — хранит основные BI-таблицы и наборы данных.

Репозиторий — сохраняет метаданные сервера, включая пользователей, права доступа и расписание обновлений. Обеспечивает консистентность при работе в кластере.

Сервер состояний (Redis) — следит за состоянием всех узлов BI-проекта, фиксирует ошибки и управляет распределением задач.

Файловый сервер — централизованное хранилище файлов проекта (шаблоны, драйверы, резервные копии и т.д.) для обеспечения доступа всех узлов BI.

Сервис логов — записывает действия пользователей и системные события. Позволяет анализировать производительность, поведение пользователей и отслеживать события.

Подключение к источникам данных осуществляется по протоколу JDBC. Система предоставляет набор преднастроенных коннекторов, а также позволяет использовать сторонние JDBC-драйверы.

SiglaVision позволяет работать с источниками данных в двух режимах: режим прямых запросов и режим экстракта.

В режиме прямых запросов BI-система выполняет push down вычислений в систему-источник данных, перекладывая нагрузку на СУБД. BI только визуализирует результат выполненных вычислений. Этот режим предпочтителен для работы с большим объёмом данных и специализированными СУБД: MPP, колоночные, in-memory.

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

SiglaVision предоставляет минималистичный, простой в освоении ETL, который позволяет трансформировать и агрегировать загруженные в платформу данные. Доступны типовые операции: join, union, filter, aggregate, добавление новых колонок и др.

Для хранения метаданных SiglaVision может использовать различные СУБД, в том числе MySQL и PostgreSQL. Репозиторий используется в системе для хранения данных о пользователях, правах доступа, метаданных объектов системы.

Доступ в SiglaVision осуществляется через веб-интерфейс. Для доступа пользователей поддерживаются современные браузеры, в том числе Яндекс Браузер. Для просмотра дашбордов и их разработки не требуется установка дополнительного ПО. Разработка форматированных отчётов, которые поставляются как отдельный модуль, требует установки толстого клиента.

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

Ключевые настройки ПО вынесены в раздел администрирования ПО. В данном разделе выполняются основные настройки ролевой модели, параметры аутентификации, логирования и пр.

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

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

Категория Требования
Операционная система OC Windows, Linux, поддерживающие JDK 1.8. В том числе поддерживаются отечественные OC Astra Linux, Ред ОС.
Сервер приложений Серверы веб-приложений, такие как Tomcat, Wildfly (JBoss) и др.
СУБД Поддерживаемые СУБД: Mysql, Oracle. СУБД PostgreSQL
Файловый сервер Поддерживаемые файловые серверы: S3, SFTP.
Сервер состояний Поддерживаемые конфигурации: Redis, Redis Cluster.
Балансировщики Поддерживаемые серверы: Nginx

Компоненты системы могут быть установлены в виде единой инсталляции (standalone), так и в виде набора отдельных компонентов, которые запускаются SiglaVision Monitor. Рекомендуемый сайзинг по компонентам приведён в таблице ниже.

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

Компонент CPU RAM Дисковое пространство
Web модуль BI 16 ядер 1/4 Памяти сервера
Максимум: 64 GB
100 GB
Вычислительный узел 16 ядер Память сервера / 2 / Кол-во вычислительных узлов
Максимум: 64 GB
100 GB
Мастер узел 4 ядра 1/8 Памяти сервера
Максимум: 64 GB
100 GB
Хранилище данных 2 ядра 1/8 Памяти сервера
Максимум: 64 GB
200 GB
Сервис логов 1 ядро / 50 GB
Балансировщик 1 ядро / /
Репозиторий 2 ядра / 50 GB
Сервер состояний 1 ядро / /
Файловый сервер 1 ядро / 100 GB

Далее сайзинг решения рассчитывается исходя из количества узлов Web-модулей BI и вычислительных узлов. Инфраструктурные модули не требуют значительного увеличения мощности при росте числа пользователей; их сайзинг можно считать фиксированным.

В таблицах ниже приведены примеры расчёта сайзинга для различных сценариев. Указаны ориентиры для инсталляций до 3000 пользователей. Система также позволяет масштабироваться на большее число пользователей, но сайзинг в большей степени начинает зависеть от сценария использования. В соответствии с таблицами ниже предложенный в приложении сайзинг рассчитан примерно на 1000–3000 пользователей в зависимости от сценария.

Данные получаются напрямую с источников. В этом сценарии требуется большее число Web-узлов BI-системы, отвечающих за рендеринг отчётов. Основные вычисления выполняются на стороне СУБД источника данных.

Активн. польз. в день Онлайн польз. в час Конкурент. польз. Конкурент. редакторов Вычисл./сек (источник) Рекоменд. конфигурация Миним. конфигурация
500 <100 <20 <20 <10 Количество нод: 1
CPU: 8 ядер, 16 потоков, 2.5 GHz
RAM: 24 GB
Количество нод: 1
CPU: 4 ядер, 8 потоков, 2.5 GHz
RAM: 12 GB
2000 100~1000 40~90 10~40 10~20 Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 32 GB
Количество нод: 1
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 24 GB
3000 600~1500 60~130 30~60 ≥30 Количество нод: 3
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 24 GB
Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 48 GB

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

Кол-во онлайн пользователей в час Кол-во конкурентных пользователей Кол-во конкурентных пользователей редакторов Рекомендованная конфигурация Минимальная конфигурация
< 100 < 20 < 20 Количество нод: 1
CPU: 8 ядер, 16 потоков, 2.5 GHz
RAM: 32 GB
Количество нод: 1
CPU: 8 ядер, 16 потоков, 2.5 GHz
RAM: 32 GB
300~1000 20~70 10~40 Количество нод: 2
CPU: 8 ядер, 16 потоков, 2.5 GHz
RAM: 32 GB
Количество нод: 1
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
600~2000 40~120 30~60 Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 48 GB
900~3000 50~160 50~80 Количество нод: 3
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
Количество нод: 3
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 48 GB

Данные в основном выгружаются из систем-источников и загружаются в BI-систему. Пользователи активно используют отчёты и создают новые. Нагрузка выше: нужно обслуживать запросы пользователей и выполнять задания по обновлению данных.

Кол-во онлайн пользователей за 5 минут Кол-во конкурентных пользователей Рекомендованная конфигурация Минимальная конфигурация
~400 40 Количество нод: 2
CPU: 8 ядер, 16 потоков, 2.5 GHz
RAM: 32 GB
Количество нод: 1
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
400~800 80 Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
Количество нод: 2
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 48 GB
800~1100 110 Количество нод: 3
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 64 GB
Количество нод: 3
CPU: 16 ядер, 32 потока, 2.5 GHz
RAM: 48 GB

Для успешной реализации проекта рекомендуется на старте учесть следующие моменты (желательно закрепить их в проектной документации):

  • рекомендации по визуализации данных и разработке отчётов в корпоративных стилях, чтобы пользовательские отчёты были выполнены в едином стиле;
  • рекомендации по разработке отчётов с оптимальной производительностью.