Skip to content

Как устроена платформа ​

Страница для инженера и архитектора: из чего состоит DataWell, где выполняются запросы и что происходит с данными. Пользователю платформы читать её не обязательно.

Состав системы ​

КомпонентЧто делает
Веб-интерфейсЕдинственная точка входа пользователя: списки объектов, конструкторы датасета, виджета и дашборда
Сервер приложенияREST API платформы: права, метаданные, сборка и выполнение запросов к данным
Исполнитель заданийЗагрузка данных в витрины: читает источник, готовит данные и заливает их в аналитическую базу
Оркестратор заданийВедёт задания загрузки по шагам, повторяет сбойные попытки, хранит историю запусков
База метаданныхPostgreSQL: пользователи, права, описания источников, датасетов, виджетов и дашбордов
Аналитическая базаClickHouse: витрины датасетов в режиме «Извлечение»
Объектное хранилищеS3-совместимое: загруженные файлы и промежуточные данные при загрузке витрин
КешRedis: готовые выборки виджетов и списки значений фильтров
Сервис MCPДоступ внешнего AI-агента к платформе по протоколу MCP

Языковая модель для AI-помощника в поставку не входит: платформа обращается к внешнему сервису или к модели в вашей сети — AI-провайдер.

Как выполняется запрос виджета ​

  1. Браузер просит у сервера приложения данные виджета.
  2. Сервер проверяет права и подставляет правила видимости строк и полей.
  3. Из полок виджета и описания датасета собирается запрос: полки дают поля и агрегации, датасет — таблицы, связи и вычисляемые поля.
  4. Запрос переводится в диалект той базы, к которой он идёт, и выполняется.
  5. Результат кешируется и возвращается в браузер.

Формулы вычисляемых полей исполняет база данных, а не платформа. Язык формул один для всех источников, но переводится он в SQL конкретной СУБД. Поэтому одна и та же формула на разных источниках может вести себя по-разному. Исключение — несколько функций, которые платформа считает сама: они перечислены в ограничениях.

Два режима работы с данными ​

РежимКуда идёт запросКогда выбирают
Прямой запросВ источник, при каждом открытии виджетаАктуальность важнее скорости, объёмы умеренные
ИзвлечениеВ витрину внутри аналитической базы платформыИсточник тяжёлый или его нельзя нагружать; данные обновляются по расписанию

В режиме извлечения свежесть данных равна времени последней сборки витрины. Подробнее — материализация и синхронизация и ETL.

Работа без доступа в интернет ​

Платформа рассчитана на закрытый контур: для работы ей интернет не нужен. Все её части — приложение, база метаданных, аналитическая база, объектное хранилище — стоят внутри организации, данные обрабатываются там же и наружу не уходят.

Наружу платформа обращается только там, где это вы сами настроили, и каждый такой случай отключаем:

ЧтоКогда обращается наружуКак обойтись без этого
Источники данныхЕсли сама база или хранилище стоят за пределами контураПодключать только внутренние источники
Провайдер входаЕсли Keycloak или каталог вынесены наружуВстроенный вход или внутренний каталог — Провайдеры входа
AI-помощникЕсли выбрана облачная языковая модельУказать модель, поднятую в вашей сети, или выключить помощника — AI-провайдер
Драйверы JDBCПри загрузке нового драйвера администраторомЗагрузить .jar файлом, скачанным заранее — Типы источников

Ни телеметрии, ни проверки лицензии, ни обращений к внешним сервисам в работе платформы нет.

Где лежит состояние ​

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

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

Ключ шифрования храните вместе с копией базы

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

Что дальше ​