API масштабирования может быть полезен в следующих случаях:
- Крупные первичные загрузки (более 4 ТБ)
- Миграция умеренного объёма данных с максимально возможной скоростью
- Поддержка более 8 CDC ClickPipes в рамках одного сервиса
Прежде чем увеличивать масштаб, учтите следующее:
- Убедитесь, что у исходной БД достаточно доступных ресурсов
- Сначала настройте параллелизм первичной загрузки и партиционирование при создании ClickPipe
- Проверьте, нет ли в источнике длительных транзакций, которые могут вызывать задержки CDC
Увеличение масштаба пропорционально повысит ваши затраты на вычислительные ресурсы ClickPipes. Если вы увеличиваете масштаб только ради первичной загрузки, важно уменьшить его после завершения снимка, чтобы избежать неожиданных расходов. Подробнее о ценах см. в разделе Тарификация Postgres CDC.
Предварительные требования для этого процесса
Перед началом вам потребуется:
- ключ API ClickHouse с правами Admin на целевом сервисе ClickHouse Cloud.
- DB ClickPipe (Postgres, MySQL или MongoDB) должен быть хотя бы один раз создан в сервисе. Инфраструктура CDC создается вместе с первым ClickPipe, и с этого момента становятся доступны конечные точки масштабирования.
Шаги по масштабированию DB ClickPipes
Перед выполнением любых команд задайте следующие переменные окружения:
ORG_ID=<Your ClickHouse organization ID>
SERVICE_ID=<Your ClickHouse service ID>
KEY_ID=<Your ClickHouse key ID>
KEY_SECRET=<Your ClickHouse key secret>Получите текущую конфигурацию масштабирования (при необходимости):
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–32 ядрами CPU, при этом объём памяти (ГБ) задаётся как 4× от числа ядер:
cat <<EOF | tee cdc_scaling.json
{
"replicaCpuMillicores": 32000,
"replicaMemoryGb": 128
}
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": 32000,
"replicaMemoryGb": 128
},
"requestId": "5a76d642-d29f-45af-a857-8c4d4b947bf0",
"status": 200
}