A API de escalonamento pode ser útil para:
- Cargas iniciais grandes (acima de 4 TB)
- Migrar uma quantidade moderada de dados o mais rápido possível
- Dar suporte a mais de 8 ClickPipes de CDC no mesmo serviço
Antes de tentar escalar, considere:
- Garantir que o BD de origem tenha capacidade disponível suficiente
- Primeiro, ajustar o paralelismo e o particionamento da carga inicial ao criar um ClickPipe
- Verificar se há transações de longa duração na origem que possam estar causando atrasos no CDC
Aumentar a escala aumentará proporcionalmente seus custos de compute do ClickPipes. Se você estiver escalando apenas para as cargas iniciais, é importante reduzir a escala depois que o snapshot for concluído para evitar cobranças inesperadas. Para mais detalhes sobre preços, consulte Preços do Postgres CDC.
Pré-requisitos para este processo
Antes de começar, você precisará de:
- Uma chave de API do ClickHouse com permissões de Admin no serviço ClickHouse Cloud de destino.
- Um DB ClickPipe (Postgres, MySQL ou MongoDB) que já tenha sido provisionado no serviço em algum momento. A infraestrutura de CDC é criada junto com o primeiro ClickPipe, e os endpoints de escalonamento ficam disponíveis a partir daí.
Etapas para escalar o DB ClickPipes
Defina as seguintes variáveis de ambiente antes de executar quaisquer comandos:
ORG_ID=<Your ClickHouse organization ID>
SERVICE_ID=<Your ClickHouse service ID>
KEY_ID=<Your ClickHouse key ID>
KEY_SECRET=<Your ClickHouse key secret>Obtenha a configuração atual de escalonamento (opcional):
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
}Defina o escalonamento desejado. As configurações compatíveis incluem de 1 a 32 núcleos de CPU, com a memória (GB) definida como 4× o número de núcleos:
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 | jqAguarde a propagação da configuração (normalmente, de 3 a 5 minutos). Depois que o escalonamento for concluído, o endpoint GET refletirá os novos valores:
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
}