API масштабирования может быть полезен в следующих случаях:
- Большая первичная загрузка данных (более 4 ТБ)
- Необходимо как можно быстрее перенести умеренный объём данных
- Нужно поддерживать более 8 CDC ClickPipes в рамках одного сервиса
Прежде чем увеличивать масштаб, учтите следующее:
- Убедитесь, что у исходной БД достаточно свободной ёмкости
- Проверьте настройки sync interval и размера pull-батча, которые могут вызывать задержки CDC
Увеличение масштаба пропорционально повысит ваши затраты на вычислительные ресурсы ClickPipes. Если вы увеличиваете масштаб только ради первичной загрузки, после завершения снимка его важно уменьшить, чтобы избежать неожиданных расходов. Подробнее о ценах см. в разделе тарификация ClickPipes.
Предварительные требования для этого процесса
Прежде чем начать, вам потребуется:
- ключ API ClickHouse с правами Admin в целевом сервисе ClickHouse Cloud.
- 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
}