API масштабирования может быть полезен в следующих случаях:
- Большие объёмы начальной загрузки (более 4 ТБ)
- Миграция умеренного объёма данных в максимально короткие сроки
- Поддержка более 8 CDC ClickPipes в рамках одного сервиса
Прежде чем пытаться увеличить масштаб, учтите следующее:
- Убедитесь, что у исходной базы данных достаточно доступных ресурсов
- Сначала настройте параллелизм начальной загрузки и партиционирование при создании ClickPipe
- Проверьте наличие долговыполняющихся транзакций на источнике, которые могут вызывать задержки CDC
Увеличение масштаба пропорционально повысит ваши затраты на вычислительные ресурсы ClickPipes. Если вы увеличиваете масштаб только для начальной загрузки, важно уменьшить его после завершения снимка, чтобы избежать неожиданных расходов. Подробнее о ценах см. в разделе тарифы ClickPipes.
Предварительные требования для этого процесса
Прежде чем начать, вам потребуется:
- ключ 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
# пример результата:
{
"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
# пример результата:
{
"result": {
"replicaCpuMillicores": 24000,
"replicaMemoryGb": 96
},
"requestId": "5a76d642-d29f-45af-a857-8c4d4b947bf0",
"status": 200
}