mcpField
A
alibabacloud-cksync-plan

alibabacloud-cksync-plan

github.com/aliyunデータ・データベース281145 回インストール1 日前に更新
リポジトリ

alibabacloud-cksync-plan について

ClickHouse クラスター間のデータ移行やスケーリング、構成変更を計画するチーム向けのスキルです。クラスター情報と業務上の制約を集めて移行方式を比較し、リスク、ロールバック、日程を含む計画を作成します。情報不足の場合も暫定案を提示します。

主な機能

  1. 01クラスターのバージョン、種類、テーブル情報の収集
  2. 02読み取り専用時間に応じた移行方式の選定
  3. 03互換性の確認とリスク対策の記録
  4. 04手順、ロールバック、日程を含む計画の作成

活用シーン

  1. 01ClickHouse クラスター間のデータ移行
  2. 02ノード増減やアベイラビリティゾーン移行の計画
  3. 03複数レプリカ・複数 AZ 構成へのアップグレード検討
  4. 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.md
migration-plan-template.md
references/
big-cluster-community-enterprise.md
big-cluster-self-built-community.md
plans.md
ram-policies.md
sql.md
stop-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:クラスターの詳細を収集する(必須)

このステップは必須です。 移行計画の選択に進む前に、データベースとテーブルの情報を必ず収集してください。

必要な情報
  1. エンジンを含むデータベース一覧
  2. エンジン、パーティション数、データサイズ、書き込み速度を含むテーブル一覧
オプション A:ユーザーが SQL を実行する

references/sql.md のセクション 1 にある SQL クエリをユーザーに提示して実行してもらいます。

  1. データベース情報 - system.databases をクエリしてデータベース名とエンジンを取得します
  2. テーブル情報 - テーブル名、エンジン、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. 大規模クラスターのフェデレーション

ビジネス面と技術面での緊密な連携が必要となる、大規模または複雑な移行向けの高度な選択肢です。

出力形式

デフォルトの成果物: 移行計画を1つだけ作成してください。assets/migration-plan-template.md に沿って構成し、以下の主要セクションを含めてください(クラスターの情報やコマンドは計画内に記載してもよく、成果物は1つとして扱います)。

追加ファイルは依頼があった場合のみ: お客様から明示的な依頼がない限り、クラスター情報のドキュメント、スクリプト、SQL の個別ファイルは作成しないでください。依頼があった場合は、クラスターのドキュメントに assets/cluster-info-template.md を使用し、依頼に応じてスクリプト/SQL を内容が明確にわかる名前のファイルに配置してください。

移行計画の主要セクション:

  1. エグゼクティブサマリー - 方式、データサイズ、所要時間、ダウンタイム
  2. ソースクラスターの分析 - データベース、テーブル、互換性チェック
  3. 移行方式の選定 - 選定理由と代替案
  4. 移行手順 - 事前準備/実行/事後対応とコマンド
  5. リスクと軽減策 - 発生確率と影響を含む
  6. ロールバック計画 - 発動条件と手順
  7. タイムライン - 担当者を含むフェーズ別スケジュール
  8. 参考リンク - ドキュメントの URL

方法選択リファレンス

シナリオと方法の素早い対応付け、および方法固有の制約(インプレース移行の優先順位や Enterprise → Enterprise の選択肢を含む)については、references/plans.md の「方法選択の優先順位」セクションと関連する方法のセクションをご覧ください。

追加リソース

コメント