このトピックでは、データ移行機能を使用して、外部データソースから ApsaraDB for SelectDB へ完全なデータ移行を実行する方法について説明します。
機能概要
データ移行機能は、次のデータソースから ApsaraDB for SelectDB への完全なデータ移行をサポートします。
Apache Doris
SelectDB
StarRocks
前提条件
ソースクラスターの接続情報 (アドレス、ポート、ユーザー名、パスワードなど) を準備しておく必要があります。
データステージング用の一時的な Object Storage Service (OSS) バケットを準備してください。そのエンドポイントと認可情報を取得してください。移行タスクはこの OSS バケットを使用してデータを一時的に保存し、タスク完了後に自動的にデータをクリーンアップします。
手順
データ移行ページへの移動
ApsaraDB for SelectDB コンソールにログインします。
ページの左上隅で、インスタンスが存在するリージョンを選択します。
インスタンスリスト ページで、対象の インスタンス ID をクリックすると、インスタンスの詳細 ページに移動します。
ページ左側のメニューからデータの開発と管理 (Studio)、[データ移行]の順にクリックします。
説明Data Development and Management を初めて使用する場合、システムはローカルのパブリック IP アドレスを webui_whitelist IP アドレスホワイトリストグループに追加するよう促します。プロンプトをよくお読みになり、[OK] をクリックしてください。
移行タスクの作成
[データ移行] ページで、[移行タスクの作成] をクリックし、ウィザードに従って段階的に設定を完了します。
ソースクラスターと基本タスク情報の設定
左側メニューで、移行モジュールに移動し、[移行タスクの作成] をクリックします。プロンプトに従って必要な情報を入力し、[次へ] をクリックして接続を検証します。
[タスク名] と [説明]:タスクの任意の名前と説明を入力します。
[ソースクラスター接続情報]:ソースクラスターのエンドポイント、JDBC ポート、HTTP ポート、ユーザー名、パスワードを入力します。
一時オブジェクトストレージの設定
オブジェクトストレージのクラウドサービスプロバイダーを選択し、対応する [オブジェクトストレージエンドポイント] と [認可情報] を入力します。
移行するオブジェクトの選択
移行するデータベースとテーブルを選択します。複数のオブジェクトを一度に選択するか、検索ボックスを使用してフィルターできます。また、[データフィルタリング] 機能を使用して特定のテーブルにフィルター条件を設定し、その条件を満たすデータのみを移行することもできます。移行タスクは、移行元のテーブルスキーマに基づいて、移行先の ApsaraDB for SelectDB に対応するテーブルを自動的に作成するため、事前にテーブルを作成する必要はありません。JDBC (MySQL プロトコル) 経由で ApsaraDB for SelectDB に接続し、
INSERT文を実行してデータを書き込む場合、移行先のテーブルが存在しないとTable does not existエラーが返されます。この場合、データを書き込む前にCREATE TABLEを実行してテーブルスキーマを作成する必要があります。詳細設定
移行タスクのパフォーマンス指標を設定します。
[クラスター]:移行タスクを実行するコンピューティングリソースを選択します。
[テーブルレベルの同時実行数]:同時に移行するテーブルの数を設定します。
[テーブル内の同時実行数]:単一テーブル内で同時に移行するデータパーティション (Tablets) の数を設定します。
事前チェックと開始
システムは設定の事前チェックを実行します。事前チェックに合格したら、移行タスクを開始してください。
データ一貫性
移行後にテーブルスキーマとデータが一貫性を保つかどうかは、フィールドタイプによって異なります。
INT、VARCHAR、DECIMAL などの通常のフィールドは、一貫したテーブルスキーマとデータを保持します。
BITMAP および HLL 集約フィールドは直接移行をサポートしていません。移行先でテーブルを再作成し、対応する関数を使用してデータを再インポートする必要があります。
BITMAP フィールド: テーブル作成時に集計タイプとして BITMAP_UNION を指定し、
bitmap_hash()関数を使用してデータをインポートします。HLL フィールド: テーブルの作成時に HLL_UNION 集計タイプを指定し、
hll_hash()関数を使用してデータをインポートします。
移行が完了したら、ソースと移行先の間でテーブルスキーマ (列名、タイプ、制約) とデータ整合性 (行数とデータコンテンツ) を比較して、移行結果が期待どおりであることを確認してください。
移行タスクの表示と管理
移行タスクを開始すると、ページが自動的に [データ移行] リストに遷移します。ここですべての移行タスクを表示および管理できます。
タスクリストの表示:[データ移行] ページで、すべてのタスクの基本情報 ([名前]、[データソース]、[ステータス]、[作成日時] など) を表示できます。
タスク詳細の表示:タスクの [操作] 列のボタンをクリックして、タスク詳細ページを開きます。そこで、移行の進捗状況、テーブルレベルの詳細、設定情報を確認できます。