データベース移行をサポートするAWS Schema Conversion Toolでアップデートがありました(2016/10/04)

eyecatch_dms

西澤です。レポートが遅れましたが、データベース移行をサポートするツールであるSchema Conversion Toolのアップデートが先週あったのでご紹介してみようと思います。

AWS Schema Conversion Toolとは?

しつこいかもしれませんが、Blackbelt資料が素晴らしいので再掲です。

SCTはDMSが対応してくれないスキーマ移行をサポートしてくれる補助的な位置付けのツールです。こちらの記事でも簡単にご紹介していますのでご確認ください。

SCTのアップデート#1(スキーマ移行時のマッピングルールをサポート)

DMS側は下記のようなテーブルマッピング機能が元々サポートされていました。

この機能を利用することで、下記のような移行対象の制御が可能です。

  • selection
    • include/exclude
    • 一部テーブルのみを移行
  • transformation
    • rename
    • remove-column
    • convert-lowercase、convert-uppercase
    • add-prefix、remove-prefix、replace-prefix
    • add-suffix、remove-suffix、replace-suffix
    • リネーム、大文字/小文字、接頭辞/接尾辞等の変換ルールを規定
  • filter
    • ste – 以下
    • gte – 以上
    • eq – 等しい
    • between – 等しい、または 2 つの値の間
    • フィルタ設定による抽出条件を追加

今回のリリースで、DMS側でサポートされているこのようなマッピングルールを、SCTでもサポートしたようです。また、これまで手動でjsonを編集する必要がありましたが、SCTで作成したマッピングルールをDMS用にエクスポートする機能もあるようです。こちらの機能についてはまだ試せていませんので、改めてご報告したいと思います。

SCTのアップデート#2(同一DBエンジン間のスキーマ移行をサポート)

太字が対応表の更新箇所です。SCTはそもそも異なるデータベースエンジン間のスキーマ移行をサポートするツールという位置付けでサービス提供が開始されたので、異なるデーターベースエンジン間でしか利用することができませんでした。今回のアップデートでSCTでこれが可能となっています。DMSだけではスキーマ定義の全てが移行できない為、同じデータベースエンジン間でもスキーマ移行をする為のツールが欲しいという要望があったのだと思います。

Source Database Target Database
Microsoft SQL Server Amazon Aurora, Microsoft SQL Server, MySQL, PostgreSQL
MySQL MySQL, PostgreSQL
Oracle Amazon Aurora, MySQL, Oracle, PostgreSQL
Oracle Data Warehouse Amazon Redshift
PostgreSQL Amazon Aurora, MySQL, PostgreSQL
Teradata Amazon Redshift

What Is the AWS Schema Conversion Tool? - AWS Schema Conversion Tool

以前の記事では、mysqldumpコマンドのオプション(--no-data, -d)を利用したmysqlのスキーマ移行手順をご紹介しましたが、今回のリリースによりSCTを利用してmysqlからmysql(aurora)へのスキーマ移行も行うことができるようになっています。

まとめ

1からテーブル定義を作成し、データ移行をするのは骨が折れる作業です。DMSとSCTは魔法のツールではありませんが、上手に利用すれば、データ移行が捗ることは間違いなしです。ぜひ活用していただきたいと思います。

ちなみにDMSの公式ドキュメントもこれまで英語のみだったはずですが、気付いたら日本語ページが公開されていました。これでマニュアルを読む作業も捗りますね。

どこかの誰かのお役に立てば嬉しいです。