Архитектура DataLens On-premises

Какие задачи решает DataLens On-premises

DataLens On-premises — это аналитическая BI-платформа (Business Intelligence), которую можно развернуть в виде дистрибутива в вашем контуре: в облаке или на локальном сервере.

Ключевая архитектурная особенность: DataLens не хранит анализируемые данные, а выступает в роли «умного» визуализатора.

DataLens работает по принципу push-down:

  1. Пользователь открывает дашборд.

  2. На основе настроек чартов генерируются SQL-запросы (или API-запросы).

  3. Запросы отправляются напрямую в источники данных (PostgreSQL, ClickHouse®, Greenplum®).

  4. Источник выполняет запрос и возвращает агрегированный результат для визуализации.

  5. Данные визуализируются в виде графиков и таблиц и могут быть выгружены как отчет формата PDF.

Схема работы DataLens

image

DataLens хранит в служебной БД PostgreSQL только метаданные: информацию о подключениях (без паролей в открытом виде), датасетах, чартах и дашбордах.

Как взаимодействуют с сервисом бизнес-пользователи

Стандартный путь пользователя:

  1. Создание подключения. Пользователь указывает реквизиты для доступа к источнику данных.

    image

  2. Создание датасета. Пользователь описывает модель данных — выбирает таблицы, настраивает связи между ними, создает вычисляемые поля.

    Как выбрать данные и настроить связи между ними на примере продаж в сети магазинов:

  3. Создание чарта. В специальном интерфейсе (Wizard или QL) пользователь строит визуализацию на основе датасета.

    Пример настройки визуализации по объемам продаж с разбивкой по годам, типам доставки и категориям товаров:

  4. Сборка дашборда. Пользователь размещает несколько чартов на одной странице, добавляет фильтры (селекторы) и настраивает связи между ними.

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

Внутреннее устройство: обзор ключевых компонентов

Дистрибутив DataLens On-premises состоит из набора Docker-контейнеров (изолированных сред для запуска приложений). Они содержат все необходимое для работы приложений: код, библиотеки, зависимости, конфигурацию и систему файлов. Контейнеры оркестрирует Kubernetes® — ПО для автоматизации развертывания и масштабирования контейнеризированных приложений, а также управления ими в кластере.

Основные сервисы, доступные после установки:

  • Auth — сервис аутентификации. Управляет входом пользователей в систему.
  • UI — фронтенд-сервис. Отдает пользовательский интерфейс в браузер. Это то, с чем напрямую взаимодействует пользователь.
  • Control API — бэкенд-сервис. Управляет подключениями и датасетами.
  • Data API — бэкенд-сервис. Обрабатывает запросы от чартов, генерирует код запроса к источнику данных и проксирует его выполнение. Это один из самых ресурсоемких компонентов.
  • United Storage (US) — сервис хранения метаданных. Отвечает за все объекты системы: дашборды, чарты, папки и права доступа к ним. Работает поверх PostgreSQL.

image

Итоги

Разобрали архитектурные основы DataLens On-premises. Теперь вы знаете, что сервис не хранит данные, а лишь запрашивает их. Понимаете, из каких ключевых компонентов состоит сервис и как с ним работают пользователи.