AWSへのDB移行/連携を行うには? DBMotoが選ばれる理由


簡単にクラウド環境にデータベースを構成することが可能なAWS(Amazon Web Service) のRDSやRDB on EC2。とても便利なサービスですが、実際にオンプレミスDBの移行/連携を行う場合どのように実施すればよいのでしょうか。

エクスポート/インポートによる手動実施や、AWS既存のサービスであるData Migration Service(DMS)の活用なども選択肢として挙げられますが、円滑な移行や連携まで視野に入れた場合、レプリケーションツールDBMotoを使用することで簡単に実現することができます。

以下はDBMotoが選ばれている主な理由です。

・ダウンタイムを最小限に抑えた移行

DBを移行する際、一番問題となるのはダウンタイムです。手動でのエクスポート/インポートによる通常のDB移行の手法では、データの整合性維持のため、データのエクスポート/インポートの実施中もDB停止させている必要があります。これに対し、DBMotoを使用した場合は、移行時のダウンタイムをデータの切り替え時のみとし、ダウンタイムを最小限に抑えることができます。

・IBM DB2 (AS/400)など数多くのDBに、エージェントレスで対応

DBMotoは様々なDBに対応しており、これら全ての異種DB間でレプリケーションすることが可能です。例えば、DB2 for i (AS/400)などAWS DMSで対応していないDBを移行/連携させたい場合でも、DBMotoを使用することで簡単に実現することができます。また、DBMotoは中間サーバとして動作するのでDBにエージェントを導入する必要はありません。これにより導入の手間やDBの負荷を抑えた、異種DB間のレプリケーションを実現します。

・双方向の差分同期によるデータ連携

DBMotoは双方向の差分同期にも対応しています。同一レコードに対しての更新競合が発生した場合でも、どちらを優先するか等、データ不整合を回避するためのオプションを用意しています。これにより下記のようなオンプレミスとAWSの双方のDBで更新が必要な連携システムでも使用可能です。

・データ変換や条件付きのレプリケーション

関数やスクリプトを使用することによる、複雑なレプリケーションもDBMotoで実施可能です。例えば、Trim関数を適用し前後の空白を除去するといった、データ変換を実施したレプリケーションが可能です。他にもオンプレミス側の削除(Delete)オペレーションを同期しない等の、条件付きのレプリケーションも実施できます。これはAWS上には古いデータも含め常に保持しておきたい場合などに活用できます。

関連したトピックス