ビジネスで高並列の読み書きパフォーマンス、高スケーラビリティ、高可用性、複雑な検索、ビッグデータ分析などのデータベース機能が必要な場合、既存のデータベースのアーキテクチャがビジネス要件を満たしていない、またはデータベース変換のコストが高い場合は、DataWorks Data Integrationを使用して、既存のデータベースからTablestoreテーブルにデータを移行できます。また、DataWorks Data Integrationを使用して、インスタンスまたはAlibaba Cloudアカウント間でTablestoreテーブルのデータを移行したり、Tablestoreデータをオブジェクトストレージサービス(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にデータを移行できます。次の図は、Tablestoreとさまざまなデータソース間の同期を示しています。
DataWorksでサポートされているデータソース、Readerプラグイン、Writerプラグインについては、サポートされているデータソースの種類、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に移行したりできます。 移行中は、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 |