Amazon Web Services ブログ

AWS Schema Conversion Toolでのスキーマ比較の紹介

AWS Schema Conversion Tool(AWS SCT)は、データベースの移行を予測しやすくします。これは、ソースデータベーススキーマとほとんどのデータベースコードオブジェクトを、ターゲットデータベースと互換性のあるフォーマットに、自動的に変換することで行います。

AWS SCTの新機能を発表し、同種のデータベース移行(つまり、OracleからOracleへの移行など)のためのスキーマ比較と同期が可能になることを嬉しく思います。スキーマ比較機能を使用すると、ソースデータベースからターゲットデータベースへのデータベーススキーマの比較や移行、変更が容易になります。

スキーマ比較は、Oracle、Microsoft SQL Server、PostgreSQL、およびMySQLと連携します。スキーマ比較は、これらのエンジンのすべての変種(オンプレミス、Amazon EC2Amazon RDS、およびAmazon Aurora)と互換性があります。

スキーマ比較がなぜ必要なんですか?

これらのシナリオでは、スキーマ比較が必要です:

  • AWSへの移行中にスキーマ比較機能を使用すると、社内運用データベースとAWSデータベースを同期させた状態に保つことができます。
  • 開発、テスト、パフォーマンステスト、およびプロダクションを含む、すべての環境でデータベーススキーマを同期させることができます
  • スキーマ比較は、メタデータの変更を伝達することで、アプリケーションのバージョンをアップグレードするときに役立ちます。
  • スキーマ比較は、ローカルスキーマ変更を共有データベースに伝達する際のチーム開発を支援します。
  • スキーマ比較を使用すると、スキーマの変更をスクリプトとして抽出し、ユーザーが移行スクリプトとロールバックスクリプトを作成できるようになります。また、ソースコントロールシステムの下にスクリプトを保存することもできます。

サポートされているデータベース

これらのデータベース変換のために、スキーマ比較を使用できます:

  • OracleからOracle、バージョン12.1.0.2.0、11.1.0.7.0、11.2.0.1.0
  • SQL ServerからSQL Server、バージョン2016、2014、2012、2008 R2、2008
  • PostgreSQLからPostgreSQLやPostgreSQLとの互換性があるAurora、バージョン9.6、9.5.9、9.5.4
  • MySQLからMySQL、バージョン5.6.36、5.7.17、5.5

スキーマ比較機能は、ターゲットデータベースのバージョンがソースデータベースのバージョンと同じかそれ以上の場合にのみ機能します。たとえば、ソースがOracleでバージョンが11.2.0.4の場合、この機能は対象のOracleデータベースがバージョン11.2.0.4か、それ以上の場合にのみ機能します。

SCTでこの機能を使用する方法

次のセクションでこの機能の使用方法を学びます。

スキーマ設定の比較

AWS SCTでは、現在のプロジェクト設定ページでスキーマ比較オプションを見つけることができます。スキーマ比較の設定は、[プロジェクト設定]ページの[スキーマの比較]タブで指定します。

2つのスキーマを比較するには

2つのスキーマを比較するには、次のステップを実行します:

  1. 既存のAWS SCTプロジェクトを開くか、プロジェクトを作成してソースエンドポイントとターゲットエンドポイントに接続します。
  2. 比較するスキーマを選択します。
  3. コンテキスト(右クリック)メニューを開き、[スキーマ比較]を選択します。

AWS SCTは、オブジェクトのアイコンに黒丸を追加することによって、2つのスキーマ間で異なるオブジェクトを表示します。

ターゲット変更を適用する

スキーマ比較の結果は、単一のオブジェクト、単一のカテゴリのオブジェクト、またはスキーマ全体に適用できます。これを行うには、AWS SCTで、結果を適用するカテゴリ、オブジェクト、またはスキーマの横にあるボックスを選択します。ソースデータベースからターゲットデータベースへの変更を適用するには、[ターゲットを適用]を選択します。

データベース上でスクリプト作成が成功したことを示すために、影響を受けるオブジェクトのアイコンが黒くなります。

エラーのあるオブジェクトを示すため、赤いエクスクラメーションマークがオブジェクトアイテムに表示されます。

機能の制限

すべてのスキーマを複製するサポートは、同種の移行でのみ使用できます。データとスキーマの順序付けは、特に同じオブジェクトが複数回変更された場合には、厳密には保証されません。また、スキーマの移行はユーザー、ロールなどを移行しません。

まとめ

AWS SCTを使用すると、スキーマの変更をソースデータベースからターゲットデータベースに比較して移行し、データベースの稼働を続けることができます。この記事では、この機能を活用してAWSへのデータ移行を支援する方法について説明しました。

AWS SCTまたはAWS Database Migration Service(AWS DMS)に含まれている特定の機能を確認する場合は、コメントにメモを付けてください。AWS SCTおよびAWS DMSの詳細については、AWS Database Migration Serviceをご参照ください。


著者について

ヴェニュ・レディアマゾン ウェブ サービスのDatabase Migration Serviceのソフトウェア開発マネージャーです。 AWS を使用する際にソリューションの価値を向上させる手助けとなるために、当社の顧客と協力してデータベースプロジェクト上の指導や技術支援を行っています。