Оформление
Как устроена платформа
Страница для инженера и архитектора: из чего состоит DataWell, где выполняются запросы и что происходит с данными. Пользователю платформы читать её не обязательно.
Состав системы
| Компонент | Что делает |
|---|---|
| Веб-интерфейс | Единственная точка входа пользователя: списки объектов, конструкторы датасета, виджета и дашборда |
| Сервер приложения | REST API платформы: права, метаданные, сборка и выполнение запросов к данным |
| Исполнитель заданий | Загрузка данных в витрины: читает источник, готовит данные и заливает их в аналитическую базу |
| Оркестратор заданий | Ведёт задания загрузки по шагам, повторяет сбойные попытки, хранит историю запусков |
| База метаданных | PostgreSQL: пользователи, права, описания источников, датасетов, виджетов и дашбордов |
| Аналитическая база | ClickHouse: витрины датасетов в режиме «Извлечение» |
| Объектное хранилище | S3-совместимое: загруженные файлы и промежуточные данные при загрузке витрин |
| Кеш | Redis: готовые выборки виджетов и списки значений фильтров |
| Сервис MCP | Доступ внешнего AI-агента к платформе по протоколу MCP |
Языковая модель для AI-помощника в поставку не входит: платформа обращается к внешнему сервису или к модели в вашей сети — AI-провайдер.
Как выполняется запрос виджета
- Браузер просит у сервера приложения данные виджета.
- Сервер проверяет права и подставляет правила видимости строк и полей.
- Из полок виджета и описания датасета собирается запрос: полки дают поля и агрегации, датасет — таблицы, связи и вычисляемые поля.
- Запрос переводится в диалект той базы, к которой он идёт, и выполняется.
- Результат кешируется и возвращается в браузер.
Формулы вычисляемых полей исполняет база данных, а не платформа. Язык формул один для всех источников, но переводится он в SQL конкретной СУБД. Поэтому одна и та же формула на разных источниках может вести себя по-разному. Исключение — несколько функций, которые платформа считает сама: они перечислены в ограничениях.
Два режима работы с данными
| Режим | Куда идёт запрос | Когда выбирают |
|---|---|---|
| Прямой запрос | В источник, при каждом открытии виджета | Актуальность важнее скорости, объёмы умеренные |
| Извлечение | В витрину внутри аналитической базы платформы | Источник тяжёлый или его нельзя нагружать; данные обновляются по расписанию |
В режиме извлечения свежесть данных равна времени последней сборки витрины. Подробнее — материализация и синхронизация и ETL.
Работа без доступа в интернет
Платформа рассчитана на закрытый контур: для работы ей интернет не нужен. Все её части — приложение, база метаданных, аналитическая база, объектное хранилище — стоят внутри организации, данные обрабатываются там же и наружу не уходят.
Наружу платформа обращается только там, где это вы сами настроили, и каждый такой случай отключаем:
| Что | Когда обращается наружу | Как обойтись без этого |
|---|---|---|
| Источники данных | Если сама база или хранилище стоят за пределами контура | Подключать только внутренние источники |
| Провайдер входа | Если Keycloak или каталог вынесены наружу | Встроенный вход или внутренний каталог — Провайдеры входа |
| AI-помощник | Если выбрана облачная языковая модель | Указать модель, поднятую в вашей сети, или выключить помощника — AI-провайдер |
| Драйверы JDBC | При загрузке нового драйвера администратором | Загрузить .jar файлом, скачанным заранее — Типы источников |
Ни телеметрии, ни проверки лицензии, ни обращений к внешним сервисам в работе платформы нет.
Где лежит состояние
Понадобится тому, кто планирует резервное копирование:
- база метаданных — все описания объектов и права;
- аналитическая база — витрины датасетов в режиме извлечения;
- объектное хранилище — загруженные файлы;
- ключ шифрования
ENCRYPTION_KEY— им зашифрованы пароли подключений к источникам.
Ключ шифрования храните вместе с копией базы
Пароли источников лежат в базе метаданных зашифрованными. Без ключа восстановленная копия бесполезна: все подключения придётся заводить заново — подключение к базе данных.
Что дальше
- Возможности платформы — что платформа умеет.
- Ограничения текущей версии — чего она не делает.
- Кеши и лимиты — что кешируется и когда сбрасывается.