Ускорение загрузки данных
Вы можете увеличить скорость обработки 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 для существующих моделей менять ничего не нужно, функционал привязки сохранится как было ранее за счет миграций.
Смотрите также
Загрузка данных из базы данных
На этой странице
Время чтения: 3 мин.
Нужна дополнительная помощь?