alibabacloud-cksync-plan について
ClickHouse クラスター間のデータ移行やスケーリング、構成変更を計画するチーム向けのスキルです。クラスター情報と業務上の制約を集めて移行方式を比較し、リスク、ロールバック、日程を含む計画を作成します。情報不足の場合も暫定案を提示します。
主な機能
- 01クラスターのバージョン、種類、テーブル情報の収集
- 02読み取り専用時間に応じた移行方式の選定
- 03互換性の確認とリスク対策の記録
- 04手順、ロールバック、日程を含む計画の作成
活用シーン
- 01ClickHouse クラスター間のデータ移行
- 02ノード増減やアベイラビリティゾーン移行の計画
- 03複数レプリカ・複数 AZ 構成へのアップグレード検討
- 04停止時間の制約に応じた移行方式の選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-cksync-planインストール後、Claude Code で/alibabacloud-cksync-planを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/cluster-info-template.mdmigration-plan-template.mdreferences/big-cluster-community-enterprise.mdbig-cluster-self-built-community.mdplans.mdram-policies.mdsql.mdstop-merge-storm.md詳細
ClickHouse 同期計画(cksync-plan)
ClickHouse クラスターのデータ移行ソリューションを計画するためのスキルです。移行計画、リスク、考慮事項を含みます。
使用する場面
- 異なる ClickHouse クラスター間のデータ移行
- ClickHouse クラスターの水平スケーリング(ノードの追加/削除)
- ディスクのダウングレード操作
- アベイラビリティーゾーンをまたぐ移行
- マルチレプリカ、マルチ AZ 構成へのアップグレード
ワークフロー
ステップ 1:ソースクラスターの情報を収集する
ユーザーにソースクラスターの種類を尋ねます。
- 自前で構築した ClickHouse または Alibaba Cloud 以外の ClickHouse
- Alibaba Cloud ClickHouse Community Edition
- Alibaba Cloud ClickHouse Enterprise Edition
ユーザーにソースクラスターのバージョン(例:20.8、22.8、23.8、24.3)を尋ねます。
- バージョンは移行方法の互換性に影響します
- BACKUP/RESTORE には ≥22.8 が必要です
- 増分 cksync 移行には、ターゲットが ≥20.8 である必要があります
ステップ 2:ターゲットクラスターの情報を収集する
ユーザーにターゲットクラスターの種類を尋ねます。
- Alibaba Cloud ClickHouse Community Edition
- Alibaba Cloud ClickHouse Enterprise Edition
- 未定
ステップ 3:クラスターの詳細を収集する(必須)
このステップは必須です。 移行計画の選択に進む前に、データベースとテーブルの情報を必ず収集してください。
必要な情報
- エンジンを含むデータベース一覧
- エンジン、パーティション数、データサイズ、書き込み速度を含むテーブル一覧
オプション A:ユーザーが SQL を実行する
references/sql.md のセクション 1 にある SQL クエリをユーザーに提示して実行してもらいます。
- データベース情報 -
system.databasesをクエリしてデータベース名とエンジンを取得します - テーブル情報 - テーブル名、エンジン、TTL 用の engine_full、パーティション数、データサイズ、書き込み速度を含む包括的なクエリです
収集する主なフィールド:
engine_full:TTL 句を含みます(例:TTL event_time + INTERVAL 7 DAY)part_count:テーブルごとのパーティション数data_bytes:シャードごとのデータサイズwrite_speed_bytes_per_sec:part_log から算出した書き込み速度
完全な SQL クエリについては、references/sql.md のセクション 1 を参照してください。
オプション B:HTTP 経由で直接クエリする
ユーザーに接続情報を求めます。
HOST_NAME:クラスターのエンドポイント(例:cc-xxx.clickhouse.rds.aliyuncs.com)HTTP_PORT:HTTP ポート(デフォルト:8123)USER_NAME:データベースのユーザー名PASSWORD:データベースのパスワード
references/sql.md のセクション 5 にある、安全な認証情報の取り扱い方法と HTTP クエリの例を使用してください。
分析チェックリスト
データを収集した後、以下を確認します。
- 必要なメタデータがすべてそろっている(データベースエンジン、テーブルエンジン、
engine_full、パーティション、データサイズ、書き込み速度) - references/plans.md を使用した移行互換性の確認(方法固有の条件)が完了している
- バージョンと読み取り専用期間の制約が、候補となる方法に対応付けられている
- リスクと緩和策が特定され、計画に記録されている
ステップ 4:業務要件
許容できる読み取り専用時間を尋ねます。
- 0 分
- 30 分以内
- 1 日以内
- まだ決まっていない
ステップ 5:移行計画の選定と提示
収集した情報に基づき、以下の移行方式を分析して推奨してください。
| 方式 | 最適な用途 | 最小読み取り専用時間 |
|---|---|---|
| コンソール(cksync) | Alibaba Cloud へのほとんどの移行 | 約10分 |
| BACKUP/RESTORE | 大規模データ、同じエディションタイプ、バージョン ≥22.8 | データサイズによって異なる |
| INSERT FROM REMOTE | 柔軟な制御、小~中規模のデータ | バッチあたり約10分 |
| ビジネスの二重書き込み | ダウンタイムをゼロにする必要がある場合 | 0 |
| Kafka の二重書き込み | 既存の Kafka パイプライン、またはビジネスの書き込み先を Kafka に切り替える場合 | 0 |
| 大規模クラスターのフェデレーション | 大規模で複雑なシナリオ | 0 |
必須要件:必ず計画を出力し、空のコンテンツは絶対に出力しないでください。
情報が不完全な場合でも、暫定的な移行計画を必ず出力してください。 暫定計画には、以下を含める必要があります。
- 使用した前提条件
- 不足情報のチェックリスト
- 確信度と主な不確実要素
- ユーザーから不足情報が提供された後、推奨内容を確定するための次のステップ
移行方式の概要
1. コンソール(cksync)移行
Alibaba Cloud へのほとんどの移行シナリオ、特にインプレース操作でのデフォルトの選択肢です。 サポート範囲、エンジンの制約、TTL/書き込み速度の確認、マージのリスク、リソースの前提条件については、references/plans.md のセクション 1 を参照してください。
2. BACKUP/RESTORE 移行
完全なバックアップ/復元ワークフローを許容できる、同じエディション間の移行に適しています。 バージョン/エディションの制約、サポート対象のエンジン、コマンドのパターン、進行状況の監視については、references/plans.md のセクション 2 を参照してください。
3. INSERT FROM REMOTE 移行
テーブル/パーティション/時間範囲を細かく制御する必要がある場合に最適です。 適用範囲と運用上の制約については、references/plans.md のセクション 3 を参照してください。 SQL テンプレートと詳細な手順については、references/sql.md のセクション 2 を参照してください。
4. ビジネスの二重書き込み
ダウンタイムをゼロにする必要があり、アプリケーション側での二重書き込みが可能な場合に使用します。 詳細な条件については、references/plans.md のセクション 4 を参照してください。
5. Kafka の二重書き込み
既存の Kafka パイプラインの場合と、ビジネスの書き込みを先に Kafka に切り替えられる場合の両方を含め、Kafka を介した二重コンシューマーの切り替えが可能な場合に使用します。 詳細な条件については、references/plans.md のセクション 5 を参照してください。
6. 大規模クラスターのフェデレーション
ビジネス面と技術面での緊密な連携が必要となる、大規模または複雑な移行向けの高度な選択肢です。
- コミュニティ版 + エンタープライズ版:references/big-cluster-community-enterprise.md を参照
- セルフビルド + クラウド:references/big-cluster-self-built-community.md を参照
出力形式
デフォルトの成果物: 移行計画を1つだけ作成してください。assets/migration-plan-template.md に沿って構成し、以下の主要セクションを含めてください(クラスターの情報やコマンドは計画内に記載してもよく、成果物は1つとして扱います)。
追加ファイルは依頼があった場合のみ: お客様から明示的な依頼がない限り、クラスター情報のドキュメント、スクリプト、SQL の個別ファイルは作成しないでください。依頼があった場合は、クラスターのドキュメントに assets/cluster-info-template.md を使用し、依頼に応じてスクリプト/SQL を内容が明確にわかる名前のファイルに配置してください。
移行計画の主要セクション:
- エグゼクティブサマリー - 方式、データサイズ、所要時間、ダウンタイム
- ソースクラスターの分析 - データベース、テーブル、互換性チェック
- 移行方式の選定 - 選定理由と代替案
- 移行手順 - 事前準備/実行/事後対応とコマンド
- リスクと軽減策 - 発生確率と影響を含む
- ロールバック計画 - 発動条件と手順
- タイムライン - 担当者を含むフェーズ別スケジュール
- 参考リンク - ドキュメントの URL
方法選択リファレンス
シナリオと方法の素早い対応付け、および方法固有の制約(インプレース移行の優先順位や Enterprise → Enterprise の選択肢を含む)については、references/plans.md の「方法選択の優先順位」セクションと関連する方法のセクションをご覧ください。
追加リソース
- references/plans.md - 詳細な移行計画の条件
- references/sql.md - SQL テンプレートとコマンド
- references/stop-merge-storm.md - 同期後のマージストームを停止する方法
- references/big-cluster-community-enterprise.md - Community + Enterprise のフェデレーション
- references/big-cluster-self-built-community.md - 自前構築環境 + クラウドのフェデレーション