メジャーエンジンバージョンへのアップグレードは、パフォーマンスを向上させ、新しい機能を導入し、既知のバグを修正します。 このトピックでは、ApsaraDB for ClickHouse Community互換Editionクラスター間でデータを移行して、メジャーエンジンバージョンをアップグレードする方法について説明します。
前提条件
移行元クラスターと移行先クラスターは、ApsaraDB for ClickHouse Community互換Editionクラスターです。
データベースアカウントのユーザー名とパスワードは、ソースApsaraDB for ClickHouseクラスターとターゲットApsaraDB for ClickHouseクラスターに対して作成されます。
ソースApsaraDB for ClickHouseクラスターとターゲットApsaraDB for ClickHouseクラスターのレプリカは一致しています。
ソースApsaraDB for ClickHouseクラスターとターゲットApsaraDB for ClickHouseクラスターは同じリージョンにデプロイされ、同じ仮想プライベートクラウド (VPC) を使用します。
移行元クラスターのホットデータとコールドデータの階層ストレージを有効にする場合、移行先クラスターのホットデータとコールドデータの階層ストレージを有効にする必要があります。 移行元クラスターのホットデータとコールドデータの階層ストレージを無効にする場合、移行先クラスターのホットデータとコールドデータの階層ストレージを無効にする必要があります。
ソースApsaraDB for ClickHouseクラスターの各ローカルテーブルは、一意の分散テーブルに対応しています。
ターゲットApsaraDB for ClickHouseクラスターのディスクの使用可能なストレージ容量が、ソースApsaraDB for ClickHouseクラスターのディスクの使用ストレージ容量の1.2倍以上であること。
ソースApsaraDB for ClickHouseクラスターのIPアドレスが、ターゲットApsaraDB for ClickHouseクラスターのIPアドレスホワイトリストに追加されます。
ターゲットApsaraDB for ClickHouseクラスターのIPアドレスが、ソースApsaraDB for ClickHouseクラスターのIPアドレスホワイトリストに追加されます。
select * from system.clusters;
ステートメントを実行して、ApsaraDB for ClickHouseクラスターのIPアドレスを照会できます。 ホワイトリストの設定方法の詳細については、「ホワイトリストの設定」をご参照ください。
使用上の注意
メジャーエンジンのバージョンをアップグレードした後は、メジャーエンジンのバージョンをダウングレードすることはできません。
データを移行する前に、ソースApsaraDB for ClickHouseクラスターとターゲットApsaraDB for ClickHouseクラスターでスケールアウト、アップグレード、ダウングレードなどの管理操作が実行されていないことを確認してください。
ApsaraDB for ClickHouseクラスター間では、フルデータ移行と増分データ移行がサポートされています。
外部テーブルやログテーブルなどの非MergeTreeテーブルの場合、スキーマのみが移行されます。 データは移行されません。 したがって、ソースApsaraDB for ClickHouseクラスターに非MergeTreeテーブルが含まれ、ソースApsaraDB for ClickHouseクラスターからターゲットApsaraDB for ClickHouseクラスターにデータを移行する場合、ターゲットApsaraDB for ClickHouseクラスターの非MergeTreeテーブルにはテーブルスキーマのみがあり、特定のビジネスデータはありません。
メジャーエンジンのバージョンがアップグレードされると、クライアントはデータベースサービスへの接続に失敗します。 クライアントをデータベースサービスに接続するためのエンドポイントを変更する必要があります。
主なエンジンバージョンのアップグレード
データを移行してバージョン20.8以降のApsaraDB for ClickHouseクラスターのメジャーエンジンバージョンをアップグレードする場合、データ移行中にソースApsaraDB for ClickHouseクラスターからデータを読み書きできます。 移行タスクができるだけ早く完了するように、約95% のデータが移行されたら、ソースApsaraDB for ClickHouseクラスターへのデータの書き込みを停止することをお勧めします。 データを移行してバージョン20.3以前のApsaraDB for ClickHouseクラスターのメジャーエンジンバージョンをアップグレードする場合、データ移行中にソースApsaraDB for ClickHouseクラスターからのみデータを読み取ることができます。 データ移行が完了したら、ソースApsaraDB for ClickHouseクラスターからデータを読み書きできます。
データ移行が完了するまで、ターゲットApsaraDB for ClickHouseクラスターからデータを読み書きすることはできません。
サポートされているバージョン
次の表に、ソースApsaraDB for ClickHouseクラスターの各メジャーエンジンバージョンでサポートされているアップグレードを示します。
アップグレード前のエンジンバージョン | アップグレード後のエンジンバージョン |
V19.15 | V21.8またはV22.8 |
V20.3 | V21.8またはV22.8 |
V20.8 | V21.8またはV22.8 |
V21.8 | V22.8 |
手順1: ターゲットApsaraDB for ClickHouseクラスターの作成
新しいバージョンのApsaraDB for ClickHouse Community互換Editionクラスターを作成します。 サポートされているバージョンとApsaraDB For ClickHouse Community-compatible Editionクラスターの作成手順の詳細については、このトピックのサポートされているバージョンとApsaraDB for ClickHouseクラスターの作成をご参照ください。
手順2: ターゲットApsaraDB for ClickHouseクラスターへのデータの移行
このステップでは、ソースクラスターではなく、ターゲットクラスターにログインする必要があります。
クラスターページをクリックし、デフォルトインスタンスタブをクリックし、管理するクラスターのIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、インスタンスの移行.
表示されるページで、移行タスクの作成.
説明選択したクラスターにデータが移行されない場合、メッセージデータが見つかりませんでした。 というメッセージが表示されます。
ソースインスタンスとターゲットインスタンスの選択ステップで、ソースインスタンス情報セクションでインスタンスID、データベースアカウント、およびデータベースパスワードを設定します。 次に、[宛先インスタンス情報] セクションで [データベースアカウント] と [データベースパスワード] を設定します。
接続性をテストして続行2つのクラスター間の接続性をテストします。
接続が確立されている場合は、次のステップに進みます。
接続の確立に失敗した場合は、エラーメッセージを確認してください。 メッセージがソースインスタンスアカウントまたはパスワードエラー。 が表示されたら、[データベースアカウント] パラメーターまたは [データベースパスワード] パラメーターに有効な値を入力します。
移行元クラスターと移行先クラスターが接続されたら、[移行コンテンツ] 手順に進みます。 [次へ: 事前検出と同期開始] をクリックします。
説明クラスター、データベース、テーブル、データ辞書、マテリアライズドビュー、ユーザー権限、およびクラスター設定のオブジェクトをソースクラスターから移行できます。
移行タスクが設定された後、システムは移行設定を事前にチェックし、バックエンドで移行タスクを開始します。
事前チェック中に問題が検出されない場合は、[完了] をクリックします。
問題が検出された場合は、指示に従って問題を解決し、データを再度移行します。 次の表に、事前チェック項目を示します。
項目
説明
インスタンスステータスの検出
データを移行する前に、ソースApsaraDB for ClickHouseクラスターとターゲットApsaraDB for ClickHouseクラスターでスケールアウト、アップグレード、ダウングレードなどの管理操作が実行されていないことを確認してください。 移行元クラスターと移行先クラスターで管理操作が実行されている場合、システムは移行タスクを開始できません。
ストレージスペース検出
システムが移行タスクを開始する前に、システムは移行元クラスターと移行先クラスターのストレージスペースをチェックします。 移行先クラスターのディスクの使用可能なストレージ容量が、移行元クラスターのディスクの使用ストレージ容量の1.2倍以上であることを確認します。
ローカルテーブルと分散テーブルの検出
ローカルテーブルに分散テーブルが作成されていない場合、または同じローカルテーブルに複数の分散テーブルが作成されている場合、事前チェックは失敗します。 各ローカルテーブルの分散テーブルが一意であることを確認するには、冗長分散テーブルを削除する必要があります。
移行タスクが完了したら、移行タスクをインスタンスの移行ページに移動します。
説明[移行ステータス] 列に [完了] が表示されている場合、データは移行元クラスターから移行先クラスターに移行されます。
ステップ3: ソースApsaraDB for ClickHouseクラスターを削除する
ソースクラスターを削除する方法の詳細については、「クラスターの削除」をご参照ください。
ソースクラスターが削除されると、ソースクラスター内のすべてのデータが削除され、復元することはできません。 移行元クラスターを削除する前に、移行元クラスター内のすべてのビジネスデータが移行先クラスターに移行されていることを確認してください。