...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Информация |
---|
SQL Backend представляет из себя отдельную настройку на ViQube, за счет которой запросы выполняются либо на данных ViQube (In-memory), либо в сторонней базе (далее SQL-СУБД). Данная статья описывает как произвести настройку SQL Backend на ViQube, что позволит ретранслировать запросы в SQL-СУБД, например ClickHouse. Полный перечень поддерживаемых СУБД приведен в Поддерживаемые СУБД. |
Основные этапы настройки SQL Backend
Примечание |
---|
На момент настройки в SQL-СУБД уже должны быть таблицы, наполненные данными. |
Основные этапы настройки SQL Backend:
Создание в ViQube таблиц, идентичных в используемой
...
SQL-СУБД
Подготовка и применение структуры маппинга с помощью API
Создание таблиц, идентичных SQLидентичных SQL-СУБД
В ViQube необходимо создать такие же таблицы, как и в и в используемой SQL-СУБД.
ViQube берет запрос и транслирует в SQL, запрос выполняется и возвращаются данные. Эти данные попадают в таблицу с результатом.
...
Поэтому в ViQube должна быть точно такая же структура таблицы с точно такими же типами полей, чтобы можно было вывести результирующую таблицу.
Наименования
...
таблицы и столбцов
...
могут отличаться, но типы данных должны быть одинаковыми. Это необходимо для корректного маппинга при трансляции запросов в SQL-СУБД.
Если в таблице в SQL-СУБД есть дополнительные столбцы, которых нет в таблице в ViQube и их использовать не планируется, то такое расхождение а таблицах допустимо. ViQube просто будет их игнорировать, если не указывать их в настройках SQL Backend.
Информация |
---|
Создать таблицы можно с помощью стандартного механизма Загрузчиков. Например, загрузив только первые 10 строк. В дальнейшем при подключении этой таблицы к SQL-СУБД данные из ViQube будут игнорироваться. Описание создания таблиц с помощью загрузчиков приводится в разделе: Загрузка данных и формирование структуры в аналитической базе данных ViQubeсоздание многомерной модели данных. |
Настройка SQL Backend
Работа с SQL Backend на ViQube происходит с помощью запросов по API.
Проверка текущих настроек - GET
Чтобы просмотреть текущие настройки SQL Backend необходимо отправить GET-запрос:
Блок кода language xml 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> описано в разделе Получение токена аутентификации.
X-API-VERSION 3.8 актуальна для 2.27, и может быть другой для вашей версии платформы.
На время тестирования авторизацию на ViQube можно отключить, в таком случае заголовок Authorization не нужен.В ответе получаем следующие настройки SQL Backend (по умолчанию):
Блок кода { "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} }
Применение новых настроек - PUT
Чтобы применить новые
...
настройки SQL Backend необходимо отправить PUT-запрос с подготовленными настройками. Подробное описание структуры настроек приведено в разделе "Структура настроек SQL Backend".
В случае успешного применения настроек будет возвращено "200".
После успешного применения настроек все таблицы, которые были настроены на SQL-СУБД при запросах будут обращаться напрямую
...
в SQL-СУБД, а не ViQube.
Структура настроек SQL Backend
Настройки SQL Backend состоят из:
строки подключения, параметров подключения
описания
соответствия таблицсоответствия таблиц и колонок в ViQube и SQL-СУБД
Параметр | Описание | |
---|---|---|
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
Информация |
---|
Чтобы выключить режим SQL Backend на некоторых таблицах достаточно отправить обновленный PUT-запрос, в котором НЕ будет этих таблиц. |
Чтобы полностью выключить режим SQL Backend необходимо отправить PUT-запрос:
Блок кода language xml { "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} }
В случае успешного применения настроек будет возвращено "200".
Теперь при запросе настроек с помощью GET-запроса, будут возвращены исходные настройки:
Блок кода { "enabled": false, "jdbcOptions": { "connection": "" }, "sqlMapping": {} }
Пример настройки
Пример настройки SQL Backend на ClikHouse:
Multimedia | ||
---|---|---|
|