SQL Backend представляет из себя отдельную настройку на ViQube, за счет которой запросы выполняются либо на данных ViQube (In-memory), либо в сторонней базе (далее SQL-СУБД). Данная статья описывает как произвести настройку SQL Backend на ViQube, что позволит ретранслировать запросы в SQL-СУБД, например ClickHouse. Полный перечень поддерживаемых СУБД приведен в Поддерживаемые СУБД. |
На момент настройки в SQL-СУБД уже должны быть таблицы, наполненные данными. |
Основные этапы настройки SQL Backend:
В ViQube необходимо создать такие же таблицы, как и в используемой SQL-СУБД.
Создать таблицы можно с помощью стандартного механизма Загрузчиков. Например, загрузив только первые 10 строк. В дальнейшем при подключении этой таблицы к SQL-СУБД данные из ViQube будут игнорироваться. Описание создания таблиц с помощью загрузчиков приводится в разделе: Загрузка данных и формирование структуры в аналитической базе данных ViQube. |
Работа с SQL Backend на ViQube происходит с помощью запросов по API.
Чтобы просмотреть текущие настройки SQL Backend необходимо отправить GET-запрос:
curl --location --request GET 'http://192.168.4.101/viqube/sqlbackend' \ --header 'X-API-VERSION: 3.8' \ --header 'Authorization: 'Bearer <token>' |
IP адрес, HTTP/HTTPS и <Bearer token> необходимо заменить на свои. Как получить <Bearer token> описано в разделе Получение токена аутентификации. |
В ответе получаем следующие настройки SQL Backend (по умолчанию):
{ "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} } |
Настройки SQL Backend состоят из:
Параметр | Описание | |||
---|---|---|---|---|
enabled | Включен или выключен SQL Backend | |||
jdbcOptions | Настройки и опции подключения к SQL-СУБД | |||
connection | Строка подключения для JDBC драйвера. Адрес в строке необходимо указать такой, чтобы он был доступен изнутри контейнера viqube-master | |||
isResetUpdateTime | "true" - сбрасывать кэш при каждом запросе. "false" - ответы кэшируются (может быть использован для ускорения работы дашбордов) | |||
socket_timeout | Таймаут для выполнения запросов в SQL-СУБД | |||
sqlMapping | Перечисляются все таблицы, запросы для которых нужно транслировать в SQL-СУБД | |||
Ключ | Имя таблицы в ViQube (In-memory) | |||
sqlTable | Имя таблицы в SQL-СУБД. Если имена совпадают можно не писать это поле, или указать ““.
| |||
columns | Перечисляются все поля (столбцы) таблиц, запросы для которых нужно транслировать в SQL.
|
Шаблоны для настроек поддерживаемых СУБД приведены в разделе: Примеры структур настроек для СУБД |
Чтобы выключить режим SQL Backend на некоторых таблицах достаточно отправить обновленный PUT-запрос, в котором НЕ будет этих таблиц. |
Чтобы полностью выключить режим SQL Backend необходимо отправить PUT-запрос:
{ "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} } |
Теперь при запросе настроек с помощью GET-запроса, будут возвращены исходные настройки:
{ "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} } |
Пример настройки SQL Backend на ClikHouse: