Перейти к основному содержанию
Перейти к основному содержанию

Масштабирование DB ClickPipes через OpenAPI

Большинству пользователей этот API не понадобится

Базовая конфигурация DB ClickPipes рассчитана на то, чтобы «из коробки» обрабатывать большинство нагрузок. Если вы считаете, что вашей нагрузке требуется масштабирование, откройте запрос в поддержку, и мы поможем вам подобрать оптимальные настройки для вашего сценария.

API масштабирования может быть полезен для:

  • Крупных начальных загрузок (свыше 4 ТБ)
  • Максимально быстрой миграции умеренных объёмов данных
  • Поддержки более 8 CDC ClickPipes в рамках одного сервиса

Прежде чем увеличивать масштаб, учтите следующее:

Увеличение масштаба пропорционально увеличит ваши расходы на вычислительные ресурсы ClickPipes. Если вы масштабируете сервис только для начальных загрузок, важно уменьшить масштаб после завершения снимка, чтобы избежать непредвиденных затрат. Дополнительные сведения о ценах см. в разделе Тарифы на Postgres CDC.

Предварительные требования для этого процесса

Прежде чем начать, вам потребуется:

  1. API-ключ ClickHouse с правами Admin для целевого сервиса ClickHouse Cloud.
  2. Конвейер ClickPipe для БД (Postgres, MySQL или MongoDB), уже созданный в сервисе. Инфраструктура CDC создаётся вместе с первым ClickPipe, и с этого момента становятся доступны API-эндпоинты масштабирования.

Порядок масштабирования DB ClickPipes

Перед выполнением команд задайте следующие переменные окружения:

ORG_ID=<ID организации ClickHouse>
SERVICE_ID=<ID сервиса ClickHouse>
KEY_ID=<ID ключа ClickHouse>
KEY_SECRET=<Секретный ключ ClickHouse>

Получите текущую конфигурацию масштабирования (при необходимости):

curl --silent --user $KEY_ID:$KEY_SECRET \
https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipesCdcScaling \
| jq

# пример результата: \{#example-result}
{
  "result": {
    "replicaCpuMillicores": 2000,
    "replicaMemoryGb": 8
  },
  "requestId": "04310d9e-1126-4c03-9b05-2aa884dbecb7",
  "status": 200
}

Укажите требуемый уровень масштабирования. Поддерживаются конфигурации с 1–24 ядрами CPU и объёмом памяти (ГБ), равным 4× числу ядер:

cat <<EOF | tee cdc_scaling.json
{
  "replicaCpuMillicores": 24000,
  "replicaMemoryGb": 96
}
EOF

curl --silent --user $KEY_ID:$KEY_SECRET \
-X PATCH -H "Content-Type: application/json" \
https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipesCdcScaling \
-d @cdc_scaling.json | jq

Дождитесь применения конфигурации (обычно это занимает 3–5 минут). После завершения масштабирования GET-эндпоинт отобразит новые значения:

curl --silent --user $KEY_ID:$KEY_SECRET \
https://api.clickhouse.cloud/v1/organizations/$ORG_ID/services/$SERVICE_ID/clickpipesCdcScaling \
| jq

# пример результата: \{#example-result}
{
  "result": {
    "replicaCpuMillicores": 24000,
    "replicaMemoryGb": 96
  },
  "requestId": "5a76d642-d29f-45af-a857-8c4d4b947bf0",
  "status": 200
}