Ускорение загрузки данных
Вы можете увеличить скорость обработки DAX-запросов за счет распределения данных на нескольких узлах (горизонтальное масштабирование), что позволит ускорить загрузку данных. Для этого необходимо выполнить следующие шаги:
Добавьте в Docker Swarm все используемые для загрузки сервера. Для этого необходимо сделать следующее:
на главном сервере выполните следующую команду для получения токена соединения для рабочих узлов:
docker swarm join-token worker
на остальных серверах, для добавления рабочего узла, выполните команду с полученным токеном. Например:
docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377
убедитесь, что в Swarm указано нужное количество узлов:
docker node ls
Выполните скрипт
/var/lib/visiology/scripts/v3/utils/make_ch_fast_loading.sh
Данный скрипт автоматически выполнит необходимые шаги, которые вы также можете повторить, если требуется ручная настройка.
Загрузите образы
clickhouse, jdbc-bridge, cadvisor, node-exporter, promtail
в память докера на каждом сервере.Запустите платформу.
Изменение сервера ClickHouse для набора данных
Ранее в Visiology 3 (до версии 3.9) существовало API для изменения привязки “набор данных ↔︎ ClickHouse-сервер”. Т.е. можно было хранить разные наборы данных на разных ClickHouse-серверах.
Начиная с версии 3.9, произошли небольшие изменения в API и логики для новых наборов данных.
Изменения в API
Метод получения
serverKey
теперь возвращает массив строк, а не простую строку. Например:
Метод подмены
serverKey
теперь принимает массив строк, а не простую строку. Например:
Изменения в метаданных набора данных
Свойство ServerKey, которое отвечало за сопоставление “набор данных ↔︎ 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.9 для существующих моделей менять ничего не нужно, функционал привязки сохранится как было ранее за счет миграций.
Смотрите также
Загрузка данных с помощью JDBC
На этой странице
Время чтения: 3 мин.
Нужна дополнительная помощь?