ビジネスで、高い同時読み書きパフォーマンス、高スケーラビリティ、高可用性、複雑な取得、ビッグデータ分析などのデータベース機能が必要な場合に、既存のデータベースのアーキテクチャがビジネス要件を満たせない、またはデータベース変換のコストが高い場合は、DataWorks Data Integration を使用して既存のデータベースから Tablestore テーブルにデータを移行できます。 また、DataWorks Data Integration を使用して、インスタンスまたは Alibaba Cloud アカウント間で Tablestore テーブルのデータを移行したり、Tablestore データを Object Storage Service (OSS) または MaxCompute に移行したりすることもできます。 この方法で、Tablestore データをバックアップし、他のサービスで Tablestore データを使用できます。
シナリオ
DataWorks Data Integration は、安定性、効率性、スケーラビリティに優れたデータ同期プラットフォームです。 MySQL、Oracle、MaxCompute、Tablestore など、複数の異種データソース間のデータ移行と同期に適しています。
Tablestore では、DataWorks Data Integration を使用してデータベースデータを Tablestore に移行したり、インスタンスまたは Alibaba Cloud アカウント間で Tablestore データを移行したり、Tablestore データを OSS または MaxCompute に移行したりできます。
データベースデータを Tablestore に移行する
DataWorks は、異種データソース間で安定して効率的なデータ同期機能を提供します。 さまざまなデータベースから Tablestore にデータを移行できます。
DataWorks でサポートされているデータソース、Reader プラグイン、Writer プラグインについては、「サポートされているデータソースの種類と同期操作」をご参照ください。
インスタンスまたは Alibaba Cloud アカウント間で Tablestore データを移行または同期する
DataWorks で Tablestore 関連の Reader プラグインと Writer プラグインを構成して、Tablestore データテーブルまたは時系列テーブルのデータを同期できます。 次の表に、Tablestore 関連の Reader プラグインと Writer プラグインを示します。
プラグイン | 説明 |
OTSReader | このプラグインは、Tablestore テーブルからデータを読み取るために使用されます。 増分抽出を実行するために抽出するデータの範囲を指定できます。 |
OTSStreamReader | このプラグインは、Tablestore テーブルのデータを増分モードでエクスポートするために使用されます。 |
OTSWriter | このプラグインは、Tablestore にデータを書き込むために使用されます。 |
Tablestore データを OSS または MaxCompute に移行する
ビジネスシナリオに基づいて、Tablestore データを OSS または MaxCompute に移行できます。
MaxCompute は、テラバイトまたはペタバイトのデータを高速で処理できるフルマネージドのデータウェアハウスサービスです。 MaxCompute を使用して Tablestore データをバックアップしたり、Tablestore データを MaxCompute に移行して MaxCompute で Tablestore データを使用したりできます。
OSS は、大量のデータを保存できる安全で費用対効果が高く、信頼性の高いサービスです。 OSS を使用して Tablestore データをバックアップしたり、Tablestore データを OSS に同期したり、OSS からローカルデバイスにオブジェクトをダウンロードしたりできます。
移行ソリューション
DataWorks Data Integration を使用して、Tablestore とさまざまなデータソース間でデータを移行できます。
データインポートソリューションを使用して、MySQL、Oracle、Kafka、HBase、MaxCompute などの以下のタイプのデータを Tablestore に同期できます。 また、Tablestore データテーブルまたは時系列テーブル間でデータを同期することもできます。
データエクスポートソリューションを使用して、Tablestore から MaxCompute または OSS にデータを同期できます。
データをインポートする
次の表に、データインポートソリューションを示します。
ソリューション | 説明 |
MySQL データを Tablestore に同期する | MySQL データベースのデータを Tablestore データテーブルのみに移行できます。 移行中は、MySQL の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
Oracle データを Tablestore に同期する | Oracle データベースのデータを Tablestore データテーブルのみに移行できます。 移行中は、Oracle の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
Kafka データを Tablestore に同期する | Kafka データを Tablestore データテーブルまたは時系列テーブルに移行できます。 重要
移行中は、Kafka の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
HBase データを Tablestore に同期する | HBase データベースのデータを Tablestore データテーブルのみに移行できます。 移行中は、HBase の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
MaxCompute データを Tablestore に同期する | MaxCompute データを Tablestore データテーブルのみに移行できます。 移行中は、MaxCompute の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
PolarDB-X 2.0 データを Tablestore に同期する | PolarDB-X 2.0 から Tablestore データテーブルのみにデータを移行できます。 移行中は、PolarDB-X 2.0 の Reader スクリプト構成と Tablestore の Writer スクリプト構成が使用されます。
|
Tablestore データテーブル間でデータを同期する | Tablestore データテーブルから別の Tablestore データテーブルのみにデータを移行できます。 移行中は、Tablestore の Reader スクリプト構成と Writer スクリプト構成が使用されます。 ソースとデスティネーションの構成については、「Tablestore データソース」をご参照ください。 Tablestore の Reader スクリプト構成と Writer スクリプト構成を指定する場合は、Wide Column モデルのテーブルでデータを読み書きするために使用される構成を参照してください。 |
Tablestore 時系列テーブル間でデータを同期する | Tablestore 時系列テーブルから別の Tablestore 時系列テーブルのみにデータを移行できます。 移行中は、Tablestore の Reader スクリプト構成と Writer スクリプト構成が使用されます。 ソースとデスティネーションの構成については、「Tablestore データソース」をご参照ください。 Tablestore の Reader スクリプト構成と Writer スクリプト構成を指定する場合は、TimeSeries モデルのテーブルでデータを読み書きするために使用される構成を参照してください。 |
データをエクスポートする
次の表に、データエクスポートソリューションを示します。
ソリューション | 説明 |
Tablestore データを MaxCompute に同期する | MaxCompute を使用して Tablestore データをバックアップしたり、Tablestore データを MaxCompute に移行して MaxCompute で Tablestore データを使用したりできます。 移行中は、Tablestore の Reader スクリプト構成と MaxCompute の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
Tablestore データを OSS に同期する | Tablestore から OSS に同期されたオブジェクトをダウンロードし、Tablestore のデータのバックアップとして OSS にオブジェクトを保存できます。 移行中は、Tablestore の Reader スクリプト構成と OSS の Writer スクリプト構成が使用されます。 以下の項目で、ソースとデスティネーションの構成について説明します。
|
前提条件
移行ソリューションを決定したら、以下の準備が整っていることを確認してください。
ソースと DataWorks 間、およびデスティネーションと DataWorks 間のネットワーク接続が確立されている。
ソースサービスで以下の操作が実行されている: バージョンの確認、アカウントの準備、必要な権限の構成、サービス固有の構成の実行。 詳細については、ソースのドキュメントの構成要件をご参照ください。
デスティネーションサービスがアクティブ化され、必要なリソースが作成されている。 詳細については、デスティネーションのドキュメントの構成要件をご参照ください。
使用上の注意
データの移行時にテクニカルサポートが必要な場合は、チケットを送信。
DataWorks Data Integration が特定のプロダクトバージョンのデータ移行をサポートしていることを確認してください。
デスティネーションのデータ型は、ソースのデータ型と一致する必要があります。 そうしないと、移行中にダーティデータが生成される可能性があります。
移行ソリューションを決定したら、ソースとデスティネーションのドキュメントの制限と使用上の注意を必ず読んでください。
Kafka データを移行する前に、ビジネスシナリオに基づいてデータを保存する Tablestore データモデルを選択する必要があります。
構成プロセス
移行ソリューションを決定し、DataWorks Data Integration を使用して移行ソリューションのデータ移行を構成する方法について学習できます。
次の表に、構成手順を示します。
番号 | 手順 | 説明 |
1 | 移行ソリューションに基づいて必要なデータソースを作成します。
| |
2 | DataWorks Data Integration は、コードレス UI とステップバイステップの指示を提供して、バッチ同期タスクの構成を支援します。 コードレス UI は使いやすくなっていますが、提供される機能は限られています。 | |
3 | 移行結果を確認する | 移行ソリューションに基づいて、デスティネーションにインポートされたデータを表示します。
|
例
データをインポートする
DataWorks Data Integration を使用すると、MySQL、Oracle、MaxCompute などのソースから Tablestore データテーブルにデータをインポートできます。 この例では、MaxCompute から Tablestore データテーブルにデータをインポートします。
前提条件
手順 1: Tablestore データソースと MaxCompute データソースを追加する
手順 2: コードレス UI を使用してバッチ同期タスクを構成する
手順 3: Tablestore にインポートされたデータを表示する
データをエクスポートする
DataWorks Data Integration を使用して、Tablestore データを MaxCompute または OSS にエクスポートできます。
Tablestore の完全データを MaxCompute にエクスポートします。 詳細については、「Tablestore から MaxCompute に完全データをエクスポートする」をご参照ください。
Tablestore データを OSS に同期します。
完全エクスポート
Tablestore から OSS に完全データをエクスポートできます。 詳細については、「Tablestore から OSS に完全データをエクスポートする」をご参照ください。
増分同期
Tablestore から OSS に増分データを同期できます。 詳細については、「増分データを OSS に同期する」をご参照ください。
課金
Tablestore にデータをインポートすると、保存されたデータ量に基づいて Tablestore のストレージ使用量に対して課金されます。
移行ツールを使用して Tablestore にアクセスすると、読み書きリクエストに基づいて、読み書きスループットに対して Tablestore によって課金されます。 従量制読み書き CU と予約済み読み書き CU は別々に課金されます。 アクセスするインスタンスのタイプによって、従量制読み書き CU または予約済み読み書き CU のどちらが消費されるかが決まります。
説明インスタンスタイプと CU の詳細については、「インスタンス」と「読み書きスループット」をご参照ください。
DataWorks ツールを使用すると、特定の機能とリソースに対して課金されます。 詳細については、「購入ガイド」をご参照ください。
その他のソリューション
ビジネス要件に基づいて、Tablestore データをローカルファイルにダウンロードできます。 詳細については、「Tablestore のデータをローカルファイルにダウンロードする」をご参照ください。
Tunnel Service などの他の移行ツールを使用してデータをインポートすることもできます。
移行ツール | 説明 | 移行ソリューション |
DataX は、異なるデータソース間の同期を、ソースからデータを読み取る Reader プラグインと、デスティネーションにデータを書き込む Writer プラグインに抽象化します。 | ||
Tunnel Service は、Tablestore API に基づいて完全データと増分データを使用するために使用される統合サービスです。 このツールは、移行または同期のソースが Tablestore であるシナリオに適しています。 Tunnel Service は、完全モード、増分モード、差分モードでデータをエクスポートおよび使用するトンネルを提供します。 トンネルを作成したら、特定のテーブルからエクスポートされた履歴データと増分データを使用できます。 |
付録: フィールドタイプのマッピング
このセクションでは、一般的なサービスと Tablestore 間のフィールドタイプのマッピングについて説明します。 実際のシナリオでは、フィールドタイプのマッピングに基づいてフィールドマッピングを構成します。
MaxCompute と Tablestore 間のフィールドタイプのマッピング
MaxCompute のフィールドタイプ | Tablestore のフィールドタイプ |
STRING | STRING |
BIGINT | INTEGER |
DOUBLE | DOUBLE |
BOOLEAN | BOOLEAN |
BINARY | BINARY |
MySQL と Tablestore 間のフィールドタイプのマッピング
MySQL のフィールドタイプ | Tablestore のフィールドタイプ |
STRING | STRING |
INT または INTEGER | INTEGER |
DOUBLE、FLOAT、または DECIMAL | DOUBLE |
BOOL または BOOLEAN | BOOLEAN |
BINARY | BINARY |
Kafka と Tablestore 間のフィールドタイプのマッピング
Kafka スキーマタイプ | Tablestore のフィールドタイプ |
STRING | STRING |
INT8、INT16、INT32、または INT64 | INTEGER |
FLOAT32 または FLOAT64 | DOUBLE |
BOOLEAN | BOOLEAN |
BYTES | BINARY |