В Visiology 3 до версии 3.9 было доступно API для изменения привязки между набором данных и сервером ClickHouse, что позволяло хранить разные наборы данных на различных серверах ClickHouse.
Однако начиная с версии 3.9, были внесены незначительные изменения в API и логику работы с новыми наборами данных.
Изменения в API
Метод получения serverKey теперь возвращает массив строк, а не простую строку, например:
Метод подмены serverKey теперь принимает массив строк, а не простую строку, например:
Изменения в метаданных набора данных
Свойство ServerKey, которое отвечало за сопоставление набора данных с конкретным сервером ClickHouse, было удалено. Теперь функционал поддержки привязки наборов данных к ClickHouse-серверам работает немного по-другому (см. раздел Настройка ClickHouse-сервера для набора данных ниже). Для существующих моделей реализованы миграции и поведение остается прежним.
Появилось новое свойство ServerSelectionType (число), допускающего значения:
Static (1)
Dynamic (2) - является значением по умолчанию при создании набора данных.
Появилось новое свойство ActiveServerKeys (массив строк). Если в наборе данных ServerSelectionType = Dynamic, то при загрузке данных ClickHouse-сервер выбирается платформой автоматически. После загрузки данных всегда записывается значение в поле ActiveServerKeys, т.к. оно в последующем используется для осуществления DAX-запросов.
Появилось новое свойство TargetServerKeys (массив строк). Если в наборе данных ServerSelectionType = Static, то при загрузке данных ClickHouse сервер выбирается из поля TargetServerKeys.
Настройка ClickHouse-сервера для набора данных
Для новых моделей
При создании нового набора данных через UI полю ServerSelectionType назначается значение Dynamic, что означает автоматическое определение ClickHouse-сервера.
Поэтому, если вы создаете новую модель данных и хотите использовать функционал привязки ClickHouse-серверов к набору данных, то необходимо изменить значение свойства ServerSelectionType на Static и привязать конкретный ключ сервера через метод API по уже знакомому методу.
Пример запроса на изменение ServerSelectionType у набора данных:
Для старых моделей
После перехода на 3.10 для существующих моделей менять ничего не нужно,так как функционал привязки сохранится как было ранее за счет миграций.