データ伝送サービス (DTS) を使用して、PolarDB-X 2.0 から Tablestore にデータを移行できます。
前提条件
移行先の Tablestore インスタンスが作成されていること。詳細については、Tablestore の使用 を参照してください。
Tablestore インスタンスが属する Alibaba Cloud アカウントの AccessKey ID と AccessKey シークレットを取得していること。詳細については、AccessKey ペアの作成 トピックの「Alibaba Cloud アカウントの AccessKey ペアの作成」セクションを参照してください。
使用上の注意
制限タイプ | 説明 |
ソースデータベースの制限 |
|
その他の制限 |
|
増分移行が可能な SQL 操作
操作タイプ | SQL ステートメント |
DML | INSERT、UPDATE、DELETE |
データベースアカウントに必要な権限
データベース | スキーマ移行 | フルデータ移行 | 増分データ移行 |
移行元 PolarDB-X 2.0 インスタンス | SELECT 権限 | SELECT 権限 | REPLICATION SLAVE 権限と REPLICATION CLIENT 権限、および移行対象オブジェクトに対する SELECT 権限 |
データベースアカウントの作成方法とデータベースアカウントへの権限の付与方法については、以下のトピックを参照してください。
PolarDB-X 2.0 インスタンス: データベースアカウントの管理 および データを同期するためにアカウントに必要な権限。
手順
データ移行タスクページに移動します。
データ管理 (DMS) コンソール にログオンします。
上部のナビゲーションバーで、データ開発 をクリックします。
左側のナビゲーションペインで、 を選択します。
データ移行タスク の右側にあるドロップダウンリストから、データ移行インスタンスが存在するリージョンを選択します。
説明実行する必要がある実際の手順は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、シンプルモード および DMS コンソールのレイアウトとスタイルのカスタマイズ を参照してください。
新しい DTS コンソールのデータ移行タスクページ に移動することもできます。
タスクの作成 をクリックして、タスク設定ページに移動します。
オプション: ページの右上隅にある 新バージョンの設定ページを試してみる をクリックします。
説明ページの右上隅に 旧バージョンの設定ページに戻る ボタンが表示されている場合は、この手順をスキップしてください。
設定ページの新バージョンと旧バージョンでは、特定のパラメーターが異なる場合があります。新しいバージョンの設定ページを使用することをお勧めします。
ソースデータベースと移行先データベースを設定します。次の表にパラメーターを示します。
セクション
パラメーター
説明
該当なし
タスク名
DTS タスクの名前。DTS は自動的にタスク名を生成します。タスクを簡単に識別できる説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。
移行元データベース
既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)
使用するデータベース。ビジネス要件に基づいて、既存のデータベースを使用するかどうかを選択できます。
既存のデータベースを選択すると、DTS はデータベースのパラメーターを自動的に入力します。
既存のデータベースを選択しない場合は、以下のデータベース情報を設定する必要があります。
データベースタイプ
ソースデータベースのタイプ。PolarDB-X 2.0 を選択します。
アクセス方法
ソースデータベースのアクセス方法。Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
移行元 PolarDB-X 2.0 インスタンスが存在するリージョン。
Alibaba Cloud アカウント間でデータを複製
Alibaba Cloud アカウント間でデータを移行するかどうかを指定します。この例では、× が選択されています。Alibaba Cloud アカウント間でのデータ移行については、Alibaba Cloud アカウント間で DTS タスクを設定する を参照してください。
インスタンス ID
移行元 PolarDB-X 2.0 インスタンスの ID。
データベースアカウント
移行元 PolarDB-X 2.0 インスタンスのデータベースアカウント。必要な権限については、データベースアカウントに必要な権限 を参照してください。
データベースのパスワード
データベースへのアクセスに使用するパスワード。
移行先データベース
既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)
使用するデータベース。ビジネス要件に基づいて、既存のデータベースを使用するかどうかを選択できます。
既存のデータベースを選択すると、DTS はデータベースのパラメーターを自動的に入力します。
既存のデータベースを選択しない場合は、以下のデータベース情報を設定する必要があります。
データベースタイプ
移行先データベースのタイプ。Tablestore を選択します。
アクセス方法
移行先データベースのアクセス方法。Alibaba Cloud インスタンス を選択します。
インスタンスのリージョン
移行先 Tablestore インスタンスが存在するリージョン。
インスタンス ID
移行先 Tablestore インスタンスの ID。
Alibaba Cloud アカウントの AccessKey ID
移行先 Tablestore インスタンスが属する Alibaba Cloud アカウントの AccessKey ID。
重要RAMユーザーのAccessKey IDを入力する場合は、そのRAMユーザーにAliyunOTSFullAccessポリシーをアタッチする必要があります。AliyunOTSFullAccessポリシーは、RAMユーザーにTablestoreを管理するための権限を付与します。詳細については、RAMポリシーを使用してRAMユーザーに権限を付与するを参照してください。
Alibaba Cloud アカウントの AccessKey Secret
移行先 Tablestore インスタンスが属する Alibaba Cloud アカウントの AccessKey シークレット。
ページの下部にある 接続テストと続行 をクリックします。
ソースまたは移行先データベースが ApsaraDB RDS for MySQL や ApsaraDB for MongoDB インスタンスなどの Alibaba Cloud データベースインスタンスの場合、DTS は DTS サーバーの CIDR ブロックをインスタンスのホワイトリストに自動的に追加します。ソースまたは移行先データベースが Elastic Compute Service (ECS) インスタンスでホストされているセルフマネージドデータベースの場合、DTS は DTS サーバーの CIDR ブロックを ECS インスタンスのセキュリティグループルールに自動的に追加します。ECS インスタンスがデータベースにアクセスできることを確認する必要があります。データベースが複数の ECS インスタンスにデプロイされている場合は、DTS サーバーの CIDR ブロックを各 ECS インスタンスのセキュリティグループルールに手動で追加する必要があります。ソースまたは移行先データベースがデータセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供されているセルフマネージドデータベースの場合は、DTS サーバーの CIDR ブロックをデータベースのホワイトリストに手動で追加して、DTS がデータベースにアクセスできるようにする必要があります。詳細については、DTS サーバーの CIDR ブロックの追加 トピックの「DTS サーバーの CIDR ブロック」セクションを参照してください。
警告DTS サーバーのパブリック CIDR ブロックがデータベースインスタンスのホワイトリストまたは ECS インスタンスのセキュリティグループルールに自動または手動で追加されると、セキュリティリスクが発生する可能性があります。したがって、DTS を使用してデータを移行する前に、潜在的なリスクを理解し、認識し、予防措置を講じる必要があります。これには、ユーザー名とパスワードのセキュリティ強化、公開するポートの制限、API 呼び出しの認証、ホワイトリストまたはセキュリティグループルールの定期的な確認と不正な CIDR ブロックの禁止、または Express Connect、VPN Gateway、Smart Access Gateway を使用したデータベースインスタンスと DTS の接続などが含まれますが、これらに限定されません。
データ移行タスクで移行するオブジェクトを設定します。
オブジェクト設定 ページで、移行するオブジェクトを設定します。次の表にパラメーターを示します。
パラメーター
説明
移行タイプ
フルデータ移行のみを実行するには、スキーマ移行 と フルデータ移行 を選択します。
データ移行中のサービス継続性を確保するには、スキーマ移行、フルデータ移行、増分データ移行 を選択します。
説明増分データ移行 を選択しない場合は、データ移行中にソースデータベースにデータを書き込まないことをお勧めします。これにより、ソースデータベースと移行先データベース間のデータの整合性が確保されます。
競合するテーブルの処理モード
エラーの事前チェックと報告: 移行先データベースにソースデータベースのテーブルと同じ名前を使用するテーブルが含まれているかどうかを確認します。ソースデータベースと移行先データベースにテーブル名が同じテーブルが含まれていない場合、事前チェックは合格です。そうでない場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。
説明ソースデータベースと移行先データベースに同じ名前のテーブルが含まれていて、移行先データベースのテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、移行先データベースに移行されるテーブルの名前を変更できます。詳細については、オブジェクト名のマッピング を参照してください。
エラーを無視して続行: ソースデータベースと移行先データベースで同じテーブル名に対する事前チェックをスキップします。
警告エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスが以下の潜在的なリスクにさらされる可能性があります。
ソースデータベースと移行先データベースのスキーマが同じで、データレコードの主キーが移行先データベースの既存のデータレコードと同じである場合、以下のシナリオが発生する可能性があります。
フルデータ移行中、DTS はデータレコードを移行先データベースに移行しません。移行先データベースの既存のデータレコードは保持されます。
増分データ移行中、DTS はデータレコードを移行先データベースに移行します。移行先データベースの既存のデータレコードは上書きされます。
ソースデータベースと移行先データベースのスキーマが異なる場合、特定のカラムのみが移行されるか、データ移行タスクが失敗します。注意して続行してください。
操作タイプ
移行する操作のタイプ。ビジネス要件に基づいて、移行する操作タイプを選択します。デフォルトでは、すべての操作タイプが選択されています。
ダーティデータの処理ポリシー
データ書き込みエラーを処理するための処理ポリシー。有効な値:
スキップ
ブロック
データ書き込みモード
データが書き込まれるモード。有効な値:
行の上書き: UpdateRowChange 操作を実行して、Tablestore インスタンスの行を上書きします。
行の更新: PutRowChange 操作を実行して、Tablestore インスタンスの行を更新します。
一括書き込みモード
複数のデータ行を同時に Tablestore インスタンスに書き込むために使用される操作。有効な値:
BulkImportRequest: データはオフラインで書き込まれます。
BatchWriteRowRequest: 複数のデータ行が同時に書き込まれます。
説明読み取りと書き込みの効率を高め、Tablestore インスタンスの使用コストを削減するには、BulkImportRequest を選択することをお勧めします。
詳細
詳細 をクリックすると、ビジネス要件に基づいて以下のパラメーターを設定できます。
キューサイズ: Tablestore インスタンスにデータを書き込むためのキューの長さ。
スレッド数: Tablestore インスタンスにデータを書き込むためのコールバックスレッドの数。
並行数: Tablestore インスタンスの最大同時スレッド数。
バケット: 増分データを順番に同時に書き込むことができるバケットの数。同時書き込み機能を向上させるには、このパラメーターを大きな値に設定します。
説明バケット パラメーターの値は、並行数 パラメーターの値以下である必要があります。
移行先インスタンスでのオブジェクト名の大文字化
移行先インスタンスのデータベース名、テーブル名、カラム名の大文字と小文字の区別。デフォルトでは、DTS デフォルトポリシー が選択されています。他のオプションを選択して、オブジェクト名の大文字と小文字の区別がソースデータベースまたは移行先データベースと一致するようにすることができます。詳細については、移行先インスタンスのオブジェクト名の大文字と小文字の区別を指定する を参照してください。
ソースオブジェクト
ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。
アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。
説明移行するオブジェクトとしてテーブルまたはデータベースを選択できます。移行するオブジェクトとしてテーブルを選択した場合、DTS はビュー、トリガー、ストアドプロシージャなどの他のオブジェクトを移行先データベースに移行しません。
移行するオブジェクトとして、1 つのデータベースまたは同じデータベース内の複数のテーブルのみを選択できます。
選択中のオブジェクト
- 移行先インスタンスに移行するオブジェクトの名前を変更するには、選択済みオブジェクト セクションでオブジェクトを右クリックします。詳細については、単一オブジェクトの名前をマッピングする を参照してください。
- 複数のオブジェクトの名前を一度に変更するには、一括編集選択済みオブジェクト セクションの右上隅にある 一度に複数のオブジェクト名をマップする をクリックします。詳細については、 を参照してください。
説明データベース名マッピング機能はサポートされていません。移行するオブジェクトとしてテーブルを選択した場合にのみ、オブジェクト名マッピング機能を使用してテーブルとカラムの名前を変更できます。オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトが移行に失敗する可能性があります。
カラム名マッピング機能を使用して、移行先 Tablestore インスタンスの対応するカラムのデータ型を変更できます。
WHERE 条件を指定してデータをフィルタリングするには、選択中のオブジェクト セクションでテーブルを右クリックします。表示されるダイアログボックスで、条件を指定します。詳細については、フィルター条件の設定 を参照してください。
次へ:詳細設定 をクリックして、詳細設定を行います。 次の表にパラメーターを示します。
パラメーター
説明
タスクのスケジュールに使用する専用クラスターの選択
デフォルトでは、専用クラスターを指定しない場合、DTS はデータ移行タスクを共有クラスターにスケジュールします。データ移行タスクの安定性を向上させるには、専用クラスターを購入します。詳細については、DTS 専用クラスターとは を参照してください。
失敗した接続の再試行時間
接続失敗時の再試行時間の範囲。データ移行タスクの開始後にソースデータベースまたは移行先データベースへの接続に失敗した場合、DTS は再試行時間の範囲内で直ちに接続を再試行します。有効な値: 10 ~ 1440。単位: 分。デフォルト値: 720。パラメーターを 30 より大きい値に設定することをお勧めします。指定された再試行時間の範囲内で DTS がソースデータベースと移行先データベースに再接続された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
説明同じソースデータベースまたは移行先データベースを共有する複数のデータ移行タスクに異なる再試行時間の範囲を指定した場合、後で指定した値が優先されます。
DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいて再試行時間の範囲を指定することをお勧めします。また、ソースデータベースと移行先インスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。
移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。
その他の問題の再試行時間の範囲。たとえば、データ移行タスクの開始後に DDL または DML 操作の実行に失敗した場合、DTS は再試行時間の範囲内で直ちに操作を再試行します。有効な値: 1 ~ 1440。単位: 分。デフォルト値: 10。パラメーターを 10 より大きい値に設定することをお勧めします。指定された再試行時間の範囲内で失敗した操作が正常に実行された場合、DTS はデータ移行タスクを再開します。そうでない場合、データ移行タスクは失敗します。
重要移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメーターの値は、失敗した接続の再試行時間 パラメーターの値よりも小さい必要があります。
完全移行率を制限するかどうか
フルデータ移行のスロットリングを有効にするかどうかを指定します。フルデータ移行中、DTS はソースデータベースと移行先データベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、フルデータ移行のスロットリングを有効にすることができます。スロットリングを設定するには、1 秒あたりのソースデータベースのクエリ率 QPS、1 秒あたりの完全移行の行数 RPS、1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、移行先データベースサーバーの負荷が軽減されます。
説明移行タイプ パラメーターで 完全データ移行 を選択した場合にのみ、このパラメーターを設定できます。
増分移行率を制限するかどうか
増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを設定するには、1 秒あたりの増分移行の行数 RPS と 1 秒あたりの増分移行データ量 (MB) BPS パラメーターを設定する必要があります。これにより、移行先データベースサーバーの負荷が軽減されます。
説明移行タイプ パラメーターで 増分データ移行 を選択した場合にのみ、このパラメーターを設定できます。
環境タグ
DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、このパラメーターを設定する必要はありません。
ETL の設定
抽出、変換、ロード (ETL) 機能はサポートされていません。この場合、× が選択されています。
順方向および逆方向タスクのハートビートテーブル sql を削除
DTS インスタンスの実行中に、ハートビートテーブルに対する SQL 操作をソースデータベースに書き込むかどうかを指定します。有効な値:
はい: ハートビートテーブルに対する SQL 操作を書き込みません。この場合、DTS インスタンスのレイテンシが表示されることがあります。
いいえ: ハートビートテーブルに対する SQL 操作を書き込みます。この場合、ソースデータベースの物理バックアップやクローニングなどの機能に影響を与える可能性があります。
監視アラート
データ移行タスクのアラートを設定するかどうかを指定します。タスクが失敗した場合、または移行レイテンシが指定されたしきい値を超えた場合、アラートの連絡先に通知が送信されます。有効な値:
いいえ: アラートを設定しません。
はい: アラートを設定します。この場合、アラートのしきい値と アラート通知設定 も設定する必要があります。詳細については、監視とアラートの設定トピックの DTS タスクの作成時に監視とアラートを設定する セクションを参照してください。
ページの下部にある 次:データベースおよびテーブルのフィールド設定 をクリックします。表示される 注意 ダイアログボックスで、OK をクリックします。
デフォルトでは、ソーステーブルをTablestoreインスタンスに移行する際に、ソーステーブルのプライマリキー列がDTSによってプライマリキー列の追加パラメーターの値として選択されます。定義ステータスパラメーターをすべてに設定すると、プライマリキー列パラメーターを変更できます。
説明ドロップダウンリストから プライマリキー列の追加 パラメーターに複数のカラムを選択して、複合主キーを生成できます。
ページの下部にある 次へ: タスク設定の保存と事前チェック をクリックします。
関連する API 操作を呼び出してデータ移行タスクを設定する際に必要なパラメーターを表示するには、次:タスク設定の保存と事前チェック にポインターを移動し、OpenAPI パラメーターのプレビュー をクリックします。
パラメーターを表示する必要がない場合、またはすでに表示している場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。
説明データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後でのみ、データ移行タスクを開始できます。
データ移行タスクが事前チェックに失敗した場合は、失敗した各項目の横にある 詳細の表示 をクリックします。チェック結果に基づいて原因を分析し、問題をトラブルシューティングします。次に、事前チェックを再実行します。
事前チェック中に項目に対してアラートが生成された場合は、シナリオに基づいて以下の操作を実行します。
アラート項目を無視できない場合は、失敗した項目の横にある 詳細の表示 をクリックして、問題をトラブルシューティングします。次に、事前チェックを再実行します。
アラート項目を無視できる場合は、アラート詳細の確認 をクリックします。[詳細の表示] ダイアログボックスで、無視 をクリックします。表示されるメッセージで、OK をクリックします。次に、再チェック をクリックして、事前チェックを再実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。
成功率 が 100% になるまで待ちます。次に、次へ: インスタンスの購入 をクリックします。
インスタンスを購入します。
インスタンスの購入 ページで、データ移行インスタンスのインスタンスクラスパラメーターを設定します。次の表にパラメーターを示します。
セクション
パラメーター
説明
新しいインスタンスクラス
リソースグループ設定
データ移行インスタンスが属するリソースグループ。デフォルト値: デフォルトリソースグループ。詳細については、リソース管理とは を参照してください。
インスタンスクラス
DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネス要件に基づいてインスタンスクラスを選択できます。詳細については、データ移行インスタンスのインスタンスクラス を参照してください。
チェックボックスをオンにして、データ伝送サービス (従量課金制) サービス規約 を読んで同意します。
購入して開始 をクリックします。 表示されるメッセージで、OK をクリックします。
結果を確認します。
Tablestore コンソール にログオンします。
上部のナビゲーションバーで、Tablestore インスタンスが存在するリージョンと、インスタンスが属するリソースグループを選択します。
概要 ページで、Tablestore インスタンスの名前をクリックするか、アクション カラムの インスタンスの管理 をクリックします。
インスタンスの詳細 タブで、テーブル タブをクリックして、移行したテーブルをクエリします。