簡単にクラウド環境にデータベースを構成することが可能な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上には古いデータも含め常に保持しておきたい場合などに活用できます。
関連したトピックス
- レコードの前後の空白を除去(trim)してレプリケーションする方法【リアルタイムレプリケーションDBMoto】
- Amazon Web Service(EC2/RDS)へオンプレミス(自社)データべースをリアルタイムにレプリケーション[DBMoto]
- [DBMoto]関数を使用してレプリケーション時のデータを変換する方法(VB/C#言語選択、関数適用、ユーザ関数作成、置換関数、一括設定手順)
- ビッグデータ分析のためのデータウェアハウスAmazon Redshiftの特長と利点
- Syniti Data Replication 新機能ブログ② Amazon S3へのレプリケーション対応
- AWSデータベースの新たなレベルとしてのAurora
- データベースのバックアップはどのように業務を遂行しているかに依存する
- SAP HANA で、他RDBからのレプリケーション(AWS準備編)
- データベースのトラブルシュートを加速化させる方法について
- NoSQLクラウドデータベース: メリットと特徴