機能概要
データ移行機能とは、異なるデータソース間のデータ複製を指します。これはデータベース全体の移行を目的としており、短期的な一回限りのタスクです。移行完了後、ユーザーは通常手動で切り替えを行い、業務を新しいデータベースに接続します。Tencent Cloud DTSは、データベースの無停止・無ロック移行をサポートしており、移行プロセスによって引き起こされるデータベースのダウンタイムが業務に与える影響を最小限に抑えることができます。
Tencent Cloud DTSは、ソースデータベースが自社構築データベース、Tencent Cloudデータベース、およびサードパーティクラウドプロバイダーデータベースなどである移行をサポートしています。
自社構築データベースのクラウド移行:ローカルIDCの自社構築データベース、CVM上の自社構築データベース、Lighthouse上の軽量データベースなどを、Tencent Cloudデータベースに移行します。
Tencent Cloudデータベースのインスタンス間移行:データベースバージョンアップグレード、地域をまたぐ移行(国内・海外の地域をまたぐ場合を含む)、異なるTencent Cloudアカウントのデータベースインスタンス移行などがあります。
サードパーティプロバイダーからの移行:他のクラウドプロバイダー(Alibaba Cloud、AWSなど)からTencent Cloudに移行します。
実装原理
以下ではMySQLを例として紹介します。データ移行のプロセスは以下の通りです:
ソースデータベースのエクスポート:ソースデータベースの既存データをすべてエクスポートします。
データインポート:既存データをターゲットデータベースにインポートします。
増分データの同期と検証:移行タスクの開始と同時に、Binlogの引き継ぎも開始されます。移行プロセス中にソースデータベースで発生したSQL操作はBinlogに書き込まれます。DTSはBinlogを解析し、既存データの移行プロセス中に生成された増分データを、再度ターゲットデータベースに書き込みます。
典型的なユースケース
データ移行のクラウド移行
DTSが提供するデータ移行は、わずか数ステップの設定で、データをローカルからクラウドに移行する一連の煩雑な作業を完了できます。移行プロセスはソースデータベースの对外サービス提供に影響を与えず、クラウド移行プロセスがお客様の業務に与える影響を最小限に抑えます。
制約事項
現在、基本テーブル、ビュー、関数、トリガー、ストアドプロシージャ、イベントの移行をサポートしています(未サポートの移行オブジェクトは今後順次開発・リリースされます)。
相互に関連するデータオブジェクトは同時に移行する必要があります。そうしないと移行が失敗します。一般的な関連関係:ビューによるテーブル参照、ビューによるビュー参照、ストアドプロシージャ/関数/トリガーによるビュー/テーブル参照、主キー・外部キー関連テーブルなどがあります。
サポートされる移行タイプ
DTSは以下の3種類の移行タイプをサポートしています:
構造移行:ソースデータベース内の移行対象オブジェクトの構造をターゲットデータベースに移行します。
全量移行:ソースデータベース内のシステムデータベーステーブルを除くその他のデータを一度にターゲットデータベースに移行します。全量移行は一度限りの移行であり、ソースインスタンスにデータ書き込みがないシナリオに適しています。
全量+増分移行:まず全量移行を行い、ターゲットデータベースの初期化を完了してから、増分移行を行います。ログ解析などの技術的手段を通じて、ソースデータベースとターゲットデータベースのデータの一貫性を維持します。全量+増分移行は、ソースインスタンスにデータ書き込みがあるシナリオに適しています。
説明
全量データ移行を選択した場合、移行プロセス中にソースインスタンスに新しいデータを書き込まないでください。そうしないと、ソースとターゲットのデータが不一致になります。データ書き込みがあるシナリオでは、データの一貫性をリアルタイムに維持するために、全量+増分移行を選択することをお勧めします。
サポートされるデータベースタイプ
サポートされる高度な機能
|
異種移行をサポートし、ソースデータベースがサードパーティプロバイダーである移行をサポートします。 | 異なるタイプのデータベース間の移行をサポートしています。例えば、MySQLからTDSQL-Cへの移行です。サードパーティプロバイダーは現在、Alibaba CloudとAWSデータの移行をサポートしています。 | |
| 異なるTencent Cloudアカウントのインスタンス間データ移行をサポートします。 | |
大部分のデータベースのクロスバージョン移行をサポートします。 | ターゲットデータベースのバージョンがソースデータベース以上であれば問題ありません。例えば、5.5.xバージョンは5.5.x、5.6.x以降への移行をサポートしています。最後の桁はマイナーバージョンであり、マイナーバージョンは制限されません。 | |
ユーザー情報、ビュー、および高度なオブジェクトの移行をサポートします。 | ユーザー情報、ビュー、ストアドプロシージャ、関数、トリガー、およびイベントの移行をサポートします。 | |
| ソースデータベースとターゲットデータベースのデータ内容に対する一貫性チェックをサポートします。 | |
| 移行の手順、移行進捗などのデータを表示することをサポートします。 | |
メトリクス監視とデフォルトのアラートポリシーをサポートしています。 | データ移行の各指標の監視をサポートしています。 データ移行イベントの監視に対するデフォルト設定をサポートしています。イベント異常時には自動的にユーザーへ通知します。 | |
| ロックフリー移行とは、グローバルロック(FTWRL)をかけず、主キーがないテーブルにのみテーブルロックをかけ、その他にはロックをかけないことを指します。 | |
データベース・テーブルマッピング機能をサポートします。 | ソースデータベースからターゲットデータベースに移行するデータベース・テーブルオブジェクトは、名前の変更をサポートしています。 | |
インスタンスの再起動またはアップグレードをサポートします。 | 増分移行中に、インスタンスの再起動またはアップグレードをサポートします。 | |
| ソースインスタンス(GTIDを有効にしている場合)とターゲットインスタンスのHA切り替えをサポートします。 | |
| 操作ユーザーは、ソースインスタンスアカウントのSuper権限を持っている必要はありません(一部のデータベースではすでにサポートされています)。 | |