スケーリング API は、次のような場合に役立つことがあります。
- 大規模な初期ロード (4 TB 超)
- 中程度のデータ量をできるだけ短時間で移行したい場合
- 同一サービスで 8 個を超える CDC ClickPipes を運用する場合
スケールアップを試みる前に、次の点を検討してください。
- ソース DB に十分な空きキャパシティがあることを確認する
- まず ClickPipe の作成時に、初期ロードの並列性とパーティション化を調整する
- CDC の遅延を引き起こしている可能性がある、ソース側の長時間実行されるトランザクションを確認する
スケールを上げると、ClickPipes のコンピュートコストも比例して増加します。 初期ロードのためだけにスケールアップする場合は、想定外の料金発生を避けるため、スナップショットの完了後にスケールダウンすることが重要です。料金の詳細については、ClickPipes の料金を参照してください。
このプロセスの前提条件
開始する前に、以下が必要です。
- 対象の ClickHouse Cloud サービスに対する Admin 権限を持つ ClickHouse API key。
- 過去のいずれかの時点で、そのサービス内に 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コアで、メモリ (GB) はコア数の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
}