Data Transmission Service

リレーショナルデータベース、NoSQL、OLAP などのデータベース間のデータ転送をサポートし、さまざまなシナリオでデータの移行、同期を可能にします。

Alibaba Cloud Data Transmission Service を使用すると、リレーショナルデータベース、NoSQL、OLAP などのデータベース間でデータを移行できます。同じ種類のデータベース間だけではなく、異なる種類のデータベース間の移行もできます。
Data Transmission Serviceは、データベース間のリアルタイムデータ同期ができます。また、Data Transmission Serviceを使用して ApsaraDB for RDS の変更データをサブスクライブできます。Data Transmission Serviceを使用すると、データの移行、リモートのリアルタイムデータバックアップ、リアルタイムデータ統合、キャッシュの更新などを簡単に実行できます。

利点

高パフォーマンス
既存データの移行速度は、最大 70 MB/秒です。
変更データの同期速度は、最大 30,000 レコード/秒です。
リアルタイムデータ同期
RDS 間のリアルタイムデータ同期が可能です。
同期処理中に同期対象を変更できます。
使いやすさ
データベースの移行は、コンソールから簡単に開始できます。
ユーザーは、コンソールからタスクをモニタリングおよび操作できます。
信頼性
接続の変更時、Data Transmission Service は移行元および移行先のデータベースを継続的にモニタリングします。Data Transmission Service はパフォーマンス最適化のため接続を動的に変更します。

特徴

  • ゼロダウンタイム

    Data Transmission Service は実質ダウンタイムなしでデータを移行するのに役立ちます。移行時に発生する移行元データベースへの変更は全て移行先に継続的に複製され、移行元データベースは移行プロセス中も完全に操作可能な状態に維持されます。設定しておけばデータベース移行が完了した後も移行先のデータベースとソースの同期が取れた状態を保ち、都合の良いときにデータベースを切り替えられるようにすることができます。

  • 最も広く利用されているデータベースをサポート

    広く普及しているオープンソースの商用データベースであればたいていの場合は DTS でデータを移行することが可能です。Oracle から MySQL など異なるデータベースプラットフォーム間、異機種間の移行だけでなく MySQL 間など同機種間の移行もサポートしています。


    RDS データベース間だけでなく、オンプレミスのデータベースから RDS または ECS、ECS 上で実行されているデータベースから RDS (またはその逆) への移行も可能です。


    Data Transmission Service はデータ移行、リアルタイムのデータ複製、および変更データサブスクリプションなど複数の伝送モードをサポートしています。

  • データ移行

    ゼロダウンタイム

    移行中に移行元データベースに対して行われるデータ変更も、継続的に複製されます。このため、移行中も移行元データベースは稼働し続けることができます。
    データベースの移行が完了した後でも、移行先データベースは移行元との同期が保たれるので、都合のよいときにデータベースを切り替えることができます。


    最も広く利用されているデータベースをサポート

    同じ種類のデータベース間の移行 (MySQL から MySQL、SQLServer から SQLServer など) のほか、異なる種類のデータベース間の移行 (Oracle から MySQL など) もできます。
    オンプレミスデータベース↔RDS/ECS、ECS に実装されたデータベース↔RDS、RDS 間の移行が可能です。

  • リアルタイム変更データサブスクリプション

    RDS のリアルタイム変更データサブスクリプションに対応しています。


    サブスクリプションインスタンスを作成した後でも、サブスクリプション対象を変更できます。

  • 自動モニタリング

    同期遅延、転送ステータス、処理遅延などの重要なインスタンス情報がリアルタイムで提供されるので、ユーザーはビジネス上重要なアプリケーションのモニタリングと保護が可能です。

  • 使いやすさ

    移行プロセスにおける複雑な作業を簡素化します。たとえば、移行中に移行元データベースで行われたデータ変更を自動的に複製します。

  • 信頼性

    すべての転送タスクを常にモニタリングしています。タスクが中断された場合、タスクを自動的に再起動し、停止した場所から移行が続行されます。移行元データベースと移行先データベースを常にモニタリングしています。

  • 高パフォーマンス

    複数のスレッドで並列にレプリケーション処理を行う機能を備えています。また、さまざまなネットワーク最適化機能 (データ圧縮やパケット再転送など) にも対応しています。

FinTech、E コマース、およびゲーム向けの堅牢なクラウドベースのデータベースの作成

このホワイトペーパーでは、Alibaba CloudのクラウドネイティブデータベースであるPolarDBを紹介し、データ保護、バックアップ、移行などの実際のシナリオを通じてデータベース固有の課題を調査します。

利用イメージ

  • ダウンタイムなしでのデータベースの移行
  • リモートデータディザスタリカバリ
  • リモートアクセスの削減
  • ビッグデータリアルタイム解析
  • キャッシュの更新
  • メッセージ通知
ダウンタイムなしでのデータベースの移行

ダウンタイムなしでのデータベースの移行

DTS を使用すると、ダウンタイムなしでデータを移行できます。移行中に移行元データベースに対して行われるデータ変更も、継続的に複製されます。移行中も移行元データベースは稼働し続けることができます。データベースの移行が完了した後でも、移行先データベースは移行元との同期が保たれるので、都合のよいときにデータベースを切り替えることができます。

リモートデータディザスタリカバリ

リモートデータディザスタリカバリ

Data Transmission Service を使用すると、異なるリージョンにある 2 つの RDS インスタンス間でリアルタイムデータ同期を実行できます。リモートディザスタリカバリインスタンスは、プライマリインスタンスのスレーブです。災害発生時、アプリケーションはプライマリインスタンスからリモートディザスタリカバリインスタンスに切り替えることで、ビジネス可用性を確保することができます。

リモートアクセスの削減

リモートアクセスの削減

アプリケーションが単一のリージョンでデプロイされていると、他のリージョンからのユーザーアクセスではレイテンシおよびユーザーエクスペリエンスの問題が生じます。それらを改善するには、以下に推奨するアーキテクチャを活用する必要があります。

推奨設定

  • このアーキテクチャは、1 つのマスターと複数のスレーブから構成されます。すべてのリージョンの書き込みリクエストは、マスターにルーティングされます。マスターにあるデータは、Data Transmission Service によって各ローカルスレーブと同期されます。各リージョンの読み取りリクエストは、近くのローカルスレーブにルーティングされます。リモートアクセスをしないため、アクセスレイテンシを短縮することができます。

ビッグデータリアルタイム解析

ビッグデータリアルタイム解析

RDS から Analytic DB へは最適化された配信により、顧客のリアルタイムビッグデータ解析をサポートします。このソリューションにより、顧客は、アドホックの検出、構成および低レイテンシデータの充実などが可能になります。

キャッシュの更新

キャッシュの更新

データへの高速アクセスを実現するために、RDS でキャッシュサービスを使用できます。Data Transmission Service のデータサブスクリプションを使用すると、RDS インスタンスのパフォーマンスを低下させることなく、低レイテンシでキャッシュを更新できます。

推奨設定

  • Data Transmission Service は、RDS インスタンスの変更データをリアルタイムにサブスクライブできます。RDS のデータが変更されたタイミングでキャッシュデータを更新することもできます。

メッセージ通知

メッセージ通知

2 つのアプリケーションが非同期メッセージングの場合、Data Transmission Service のデータサブスクリプションを使用すると、ソースアプリケーションのパフォーマンスを低下させることなく、低レイテンシでメッセージ通知を実現できます。データサブスクリプションでは、ソースアプリケーションでメッセージを発行する必要がありません。したがって、このソリューションではコアアプリケーションの安定性と信頼性を高めることができます。

関連リソース

ベストプラクティス

Alibaba Cloud上でのデータベースパフォーマンスのベンチマークガイド

このソリューションは、Transaction Processing Performance Council(TPC)やsysbenchベンチマークなど、一般的に使用されるベンチマークに基づいてデータベースパフォーマンステストを実装するためのガイダンスを提供します。

ベストプラクティス

Alibaba Cloudでのマルチリージョンアプリケーションのデプロイ

このソリューションを使用すると、アプリケーションを複数のリージョンにデプロイできます。地域ネットワークを中央の内部ネットワークに接続します。 Express Connectベースの展開をCENベースの展開に移行します。複数の地域にまたがるRDSデータベースシステム間にレプリケーションをデプロイします。

すべて表示

よくある質問

1. Data Transmission Service では、2 つの異なる Alibaba Cloud アカウントの RDS インスタンス間でデータを移行できますか。

はい、できます。移行タスクを設定する際は、移行先の RDS インスタンスのアカウントでコンソールにログインします。
移行タスクを設定するときに、移行元インスタンスのパブリック IP アドレスを持つオンプレミスデータベースを選択し、移行元 RDS インスタンスの接続を設定します。

2. データ移行中にソースインスタンスへの増分データ変更も移行されますか。

はい。移行中に発生する移行元データベースへのすべての変更は移行先に継続的に同期されます。Data Transmission Service により移行元データベースは移行プロセス中も操作可能な状態に維持されます。

3. Data Transmission Service による増分データ移行の仕組みは何ですか。

データ移行時、Data Transmission Service は移行元データベースの変更ログを取り込んでモニタリングするためログ解析モジュールを起動します。その後、Data Transmission Service は既存データの移行を開始します。データをロードした後、Data Transmission Service は取り込んだ変更データを移行先インスタンスに複製し、移行先データベースは指定された期間の間、移行元と同期が取れた状態が維持されます。

4. Data Transmission Service によるデータ移行中にテーブルはロックされますか。

既存フルデータと増分データの同期を選択された場合、フルデータ移行中にデータ整合性を確保するため、プライマリキーがない非トランザクションテーブル (MyISAM など) にロックをかけます。その他の場合、Data Transmission Service が移行元データベースにロックをかけることはありません。

5. Data Transmission Service によるデータ移行時 ECS インスタンスへのアクセスにはどちらのネットワーク (イントラネットまたはインターネット) を使用しますか。

ECS インスタンスのネットワークタイプが VPC の場合、Data Transmission Service は ECS インスタンスにインターネットで接続します。
ECS インスタンスが移行タスクの移行元インスタンスで移行タスクの移行先インスタンスと異なるリージョンにある場合、Data Transmission Service はインターネットで ECS に接続します。
それ以外の場合、Data Transmission Service は ECS インスタンスにイントラネットで接続します。

6. Data Transmission Service によるデータ移行時 RDS インスタンスへのアクセスにはどちらのネットワーク (イントラネットまたはインターネット) を使用しますか。

RDS インスタンスが移行タスクの移行元インスタンスで移行タスクの移行先インスタンスと異なるリージョンにある場合、Data Transmission Service はインターネットで RDS に接続します。
それ以外の場合、Data Transmission Service は RDS インスタンスにイントラネットで接続します。

7. データ移行中に移行タスクの移行元インスタンスの DDL 操作も同期されますか。

移行タスクの移行元インスタンスのデータベースタイプが MySQL または MongoDB の場合、DDL 操作は同期されます。
他のデータベースタイプの場合、DDL 操作は同期されません。

8. Data Transmission Service では、VPC 上の ECS インスタンスのデータベースを RDS インスタンスに移行できますか。

はい。ただし、ECS インスタンスにパブリック IP がバインドされている必要があります。Data Transmission Service は、ECS インスタンスの パブリックIP で ECS インスタンスにアクセスします。

9. データ移行時 Data Transmission Service はどちらのデータベース (アクティブ/スタンバイ) からデータを取り込みますか。

Data Transmission Service はデータ移行時 RDS インスタンスのアクティブデータベースからデータを取り込みます。

10. Data Transmission Service は RDS インスタンス A のデータベース C を RDS インスタンス B のデータベース D に移行できますか。

はい。Data Transmission Service は 2 つの RDS インスタンスの 2 つの異なるデータベース間のデータ移行を可能にするデータベース名マッピングをサポートしています。

11. 移行元データベースのデータは Data Transmission Service による移行後に削除されますか。

いいえ。Data Transmission Service はデータ移行時、移行元データベース内のデータをコピーするだけなので、移行元データベース内のデータに影響はありません。

12. 下記エラーが表示されたのはなぜですか。"Failed to obtain the structure object "[java.sql.SQLException: I/O exception: The Network Adapter co"

Data Transmission Service がソースデータベースへの接続が失敗したことによるエラーです、下記チェック項目を確認ください:
(1) 接続アドレスが正しいですか。
(2) ローカルデータベースのファイアウォールは有効になっていますか。
(3) 当該データベースのリモートリスニングは有効になっていますか。

13. データ移行時、移行先のデータベース内に生成されるテーブル "increment_trx" は何ですか。

テーブル "increment_trx" は Data Transmission Service によって作成されます。主に移行のチェックポイントを記録するために使用されます。タスクが中断されると、Data Transmission Service はプロセスを自動で再起動し記録されたチェックポイントから移行を続行します。
テーブルを削除しないようにしましょう。このテーブルがないと移行タスクは失敗します。

14. Data Transmission Service で移行した後、移行先の RDS インスタンスのサイズが移行元データベースより大きくなるのはなぜですか。

Data Transmission Service は SQL 構文を使ってデータを移行するため、 移行先インスタンスにバイナリログが生成されます。このため、移行先の RDS インスタンスのサイズは移行元データベースよりも大きくなります。

15. 下記エラーが表示されたのはなぜですか。"java.sql.BatchUpdateException: INSERT, DELETE command denied to user 'user'"

移行先が RDS インスタンスの場合、RDS インスタンスがロックされていることが考えられます。
移行先 RDS インスタンスをアンロックした後、 Data Transmission Service コンソールのタスクを再起動してください。

16. Data Transmission Service によるデータ移行時、移行先データベースのテーブルの中のデータは上書きされますか。

いいえ。移行対象である移行先インスタンスのテーブルはデータ移行前に空の状態になっている必要があります。移行対象のテーブルがすでに移行先データベース内に存在している場合、事前チェックは失敗します。

17. 別の Alibaba Cloud アカウントからデータベースを RDS インスタンスに移行するにはどうすればよいでしょうか。

移行先 RDS インスタンスを持つ Alibaba Cloud アカウントで Data Transmission Service コンソールにログインする必要があります。ソースインスタンスタイプを On-permit に設定し、ソース RDS インスタンスへ接続を設定してください。

18. 終了した移行タスクをリリースした場合、移行後のデータベースの利用に影響はありますか。

いいえ。

19. オンプレミスデータベースと RDS インスタンスとの間の同期はサポートされますか。

はい。クラウドインスタンスとオンプレミスデータベースとの間の同期をする際に Data Transmission Service を使用できます。

20. Data Transmission Service によるデータ同期時はどちらのネットワーク (イントラネットまたはインターネット) を使用しますか。

Data Transmission Service はデータ同期時イントラネットでデータを転送します。

21. データサブスクリプション SDK がどのメッセージもサブスクライブできず、常に "client partition is empty, wait partition balance" というメッセージが出るのはなぜですか。

データサブスクリプションの起動には少々時間がかかります、この間は "client partition is empty, wait partition balance" というメッセージが表示されます。

22. データサブスクリプション SDK で "keep alive error" というエラーが出るのはなぜですか。

消費時刻がデータサブスクリプションインスタンスのデータ範囲内にないことが考えられます。消費時刻を変更して SDK を再起動してください。

23. データサブスクリプション機能を使用すると、"failed to get master store addr for topic aliyun_sz_ecs_ApsaraDBr*****y-1-0" と表示されます。

まず SDK の usePublicIp が true に設定されているかチェックします。
usePublicIp = true の場合は、消費時刻がサブスクリプションインスタンスのデータ範囲内にあるかチェックします。ない場合は、消費時刻を変更して SDK を再起動します。

24. データサブスクリプションの SDK を起動するとき、下記エラーが出ます: "Specified signature is not matched with our calculation. at com.aliyuncs.DefaultAcsClient.parseAcsResponse(DefaultAcsClient.java:139) at"

SDK 内で構成されている Access Key/Access Secret がサブスクリプションインスタンスに対応する Alibaba Cloud アカウントに属していません。 Access Key/Access Secret を変更して SDK を再起動します。

25. SDK クライアントは複数のチャネルをサブスクライブできますか。

いいえ。

26. SDK 登録を開始した際、システムで "get guid info failed" というエラーが出るのはなぜですか。

SDK に設定されているサブスクリプションインスタンス ID が正しくありません。サンプルコードのサブスクリプションインスタンス ID を、購読するサブスクリプションのインスタンス ID に置き換える必要があります。

高品質なサポート

1 対 1 のプリセールスコンサルティング、24 時間体制のテクニカルサポート、迅速な応答、チケット増量

1 対 1 のプリセールス
コンサルティング

経験豊富なクラウドエキスパートによるコンサルティング。 詳細を見る

24 時間体制の
テクニカルサポート

週 5 日 10 時間から 24 時
間 365 日にサービス時間を
延長。 詳細を見る

各四半期に 6 枚の無料
チケット

無料チケットの数を、四半期ごとに 3 枚から 6 枚に倍増。 詳細を見る

迅速な応答

販売後の応答時間を 36 時間から 18 時間に短縮。詳細を見る
phone お問い合わせ