Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Вы можете увеличить скорость обработки DAX запросов за счет распределения данных на нескольких узлах (горизонтальное масштабирование), что позволит ускорить загрузку данных. Для этого необходимо выполнить следующие шаги:

...

  • скопируйте секции clickhouse-1 и jdbc-bridge-1 в количестве, равном количеству ваших серверов. В скопированных секциях необходимо заменить все единицы (1) на 2, 3, 4 и т.д.
    Пример (надо заменить цифры в строках 1, 3029, 4039, 5049, 5251, 6261, 7271):

Блок кода
languageyaml
  clickhouse-2:
    # Use clickhouse/clickhouse-server:23.3.4.17-alpine
    image: ${CLICKHOUSE_TAG}
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    configs:
      - source: clickhousejdbcbridge
        target: /etc/clickhouse-server/config.d/clickhouse-jdbc-bridge.xml
      - source: clickhousedisabledroplimits
        target: /etc/clickhouse-server/config.d/clickhouse-disable-drop-limits.xml
      - source: clickhousetimezone
        target: /etc/clickhouse-server/config.d/clickhouse-timezone.xml
      - source: clickhousequerymaskingrulesforjdbc
        target: /etc/clickhouse-server/config.d/clickhouse-query-masking-rules-for-jdbc.xml
      - source: clickhouselogging
        target: /etc/clickhouse-server/config.d/clickhouse-logging.xml
      - source: clickhouseentrypoint
        target: /entrypoint.sh
        mode: 0555
      - source: clickhousecreatedmstemp
        target: /docker-entrypoint-initdb.d/clickhouse-create-dmstemp.sql
    environment:
      CLICKHOUSE_DB: ${CLICKHOUSE_DB}
      DM_CLICKHOUSE_DB: ${DM_CLICKHOUSE_DB}
      CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
      CLICKHOUSE_INIT_TIMEOUT: 600
      JDBC_BRIDGE_HOST: ${JDBC_BRIDGE_HOST_2}
    secrets:
      - source: CLICKHOUSE_FE_USER
        target: CLICKHOUSE_USER
      - source: CLICKHOUSE_FE_PASSWORD
        target: CLICKHOUSE_PASSWORD
    volumes:
      - clickhouse_data:/var/lib/clickhouse
    << : [*logging-options]
    labels:
      component: "v3-clickhouse-2"
    networks:
      visiology-3:
      smart-forms-share:
    deploy:
      endpoint_mode: dnsrr
      replicas: 1
      placement:
        max_replicas_per_node: 1
        constraints:
          - "node.labels.v3-clickhouse-2==true"

  jdbc-bridge-2:
    # Use cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/original/jdbc-bridge:3.62.1.0-v3.10
    image: ${JDBC_BRIDGE_TAG}
    environment:
      JDBC_BRIDGE_JVM_OPTS: ${JDBC_BRIDGE_MEM_OPTIONS}
    configs:
      - source: jdbcbridge
        target: /app/config/server.json
    << : [*logging-options]
    labels:
      component: "v3-jdbc-bridge-2"
    networks:
      visiology-3:
      smart-forms-share:
    deploy:
      endpoint_mode: dnsrr
      replicas: 1
      placement:
        max_replicas_per_node: 1
        constraints:
          - "node.labels.v3-clickhouse-2==true"

...

Блок кода
languagebash
/var/lib/visiology/scripts/v3/prepare-config.sh --force-regenerate-configs

9.   Запустите платформу.

Изменение сервера ClickHouse для набора данных

Ранее в Visiology 3 (до версии 3.9) существовало API для изменения привязки “набор данных ↔︎ ClickHouse-сервер”. Т.е. можно было хранить разные наборы данных на разных ClickHouse-серверах.

Начиная с версии 3.9 произошли неболшие изменения в API и логики для новых наборов данных.

...

Изменения в API

  1. Метод получения serverKey теперь возвращает массив строк, а не простую строку. Например:

...

  1. Метод подмены serverKey теперь принимает массив строк, а не простую строку. Например:

...

Изменения в метаданных набора данных

  1. Свойство ServerKey, которое отвечало за сопоставление “набор данных ↔︎ ClickHouse-сервер” было удалено, теперь функционал поддержки привязки наборов данных к ClickHouse-серверам работает немного другим образом (см. ниже). Для существующих моделей реализованы миграции и поведение остается прежним.

  2. Появилось новое свойство ServerSelectionType (число), допускающего значения:

  • Static (1)

  • Dynamic (2) - является значением по умолчанию при создании набора данных.

  1. Появилось новое свойство ActiveServerKeys (массив строк).
    Если в наборе данных ServerSelectionType = Dynamic, то при загрузке данных ClickHouse-сервер выбирается платформой автоматически.
    После загрузки данных всегда записывается значение в поле ActiveServerKeys, т.к. оно в последующем используется для осуществления DAX-запросов.

  1. Появилось новое свойство TargetServerKeys (массив строк).
    Если в наборе данных ServerSelectionType = Static, то при загрузке данных ClickHouse сервер выбирается из поля TargetServerKeys.

Настройка ClickHouse-сервера для набора данных

Для новых моделей

При создании нового набора данных через UI полю ServerSelectionType назначается значение Dynamic, что означает автоматическое определение ClickHouse сервера.

Поэтому, если вы создаете новую модель данных и хотите использовать функционал привязки ClickHouse-серверов к набору данных, то необходимо изменить значение свойства ServerSelectionType на Static и привязать конкретный ключ сервера через метод API по уже знакомому методу.

Пример запроса на изменение ServerSelectionType у набора данных:

...

Для старых моделей

После перехода на 3.9 для существующих моделей менять ничего не нужно, функционал привязки сохранится как было ранее за счет миграций.

...

Смотрите также

📄 Загрузка данных с помощью JDBC

...