JDBC-коннектор
Бизнес-требования
Основные требования к фиче:
- Заменить подключение к БД в диспетчере данных на JDBC-коннектор
- Единый способ подключения к разным СУБД
- Возможность добавлять новые коннекторы к любой СУБД прямо из интерфейса системы
- Возможность управлять параметрами подключения через конфигурацию источника
- Обеспечить безопасность соединения
- Сохранить логику взаимодействия с микросервисами бэкенда, просмотр статуса подключения
- Настроить логирование всех операций с JDBC-коннекторами
- Коннектор и нагрузка на него никак не должны влиять на производительность системы, при падении драйвера не должен падать основной поток FB
В базовой конфигурации должно быть настроено подключение к следующим СУБД:
- ClickHouse
- PostgreSQL
- MSSQL
- MYSQL
- ORACLE
Сценарии использования
| Use case | Зачем нужен |
|
Администратор взаимодействует с веб-интерфейсом
|
Точка входа для всех операций с драйверами
|
|
Интерфейс читает/записывает данные в реестр драйверов
|
Чтобы показать список доступных драйверов и сохранить новый
|
|
Интерфейс передаёт файл драйвера на валидацию
|
Проверка корректности .jar-файла перед сохранением
|
|
Валидатор сохраняет проверенный файл в хранилище
|
Физическое хранение драйверов на диске
|
|
Реестр передаёт список доступных типов драйверов во Слой 2
|
Чтобы дата-инженер видел только проверенные драйверы при создании источника
|
|
BI-разработчик запускает тест подключения
|
Проверка работоспособности настроек перед сохранением
|
|
BI-разработчик создаёт/редактирует конфигурацию подключения
|
Сохранение параметров: URL, порт, имя БД
|
|
BI-разработчик настраивает маппинг таблиц и полей
|
Определение, какие данные и как загружать из источника
|
|
Конфигурация ссылается на хранилище учётных данных
|
Пароли хранятся отдельно от конфигурации (безопасность)
|
|
Конфигурация ссылается на настройки SSL/SSH
|
Параметры защищённого соединения вынесены отдельно
|
|
Модуль тестирования вызывает микросервисы для проверки
|
Реальное подключение к БД выполняется через ETL-сервисы
|
|
Микросервисы читают параметры подключения
|
Чтобы знать, к какой БД подключаться
|
|
Микросервисы читают правила маппинга
|
Чтобы знать, какие таблицы и поля загружать
|
|
Хранилище передаёт учётные данные микросервисам
|
Логин/пароль для подключения к внешней БД
|
|
Настройки SSL/SSH передаются микросервисам
|
Для защищённого соединения с источником
|
|
Микросервисы читают данные из внешних БД через JDBC
|
Основной процесс ETL-загрузки
|
|
Микросервисы записывают данные в ClickHouse
|
Загрузка данных в БД проекта для аналитики
|
|
ClickHouse возвращает данные микросервисам
|
Например, при проверке существующих записей или UPSERT
|
|
Пользователь отправляет запросы через интерфейс
|
Выбор дашборда, фильтров, параметров отчёта
|
|
Frontend запрашивает данные через backend
|
Микросервисы выступают как API-слой
|
|
Микросервисы возвращают данные во Frontend
|
Результат выполнения запроса к ClickHouse
|
|
Frontend отображает данные пользователю
|
Визуализация отчёта/дашборда
|
|
Микросервисы пишут логи загрузки
|
Отладка ETL-процессов, мониторинг ошибок
|
|
Валидатор пишет логи проверки драйверов
|
Аудит операций с драйверами, отладка проблем
|
