全4980文字

デジタルトランスフォーメーション(DX)においてデータベース(DB)のクラウド化は不可欠。開発の柔軟性やスピードを得られる一方で、DBのクラウド移行は難度の高い作業になる。ベンダーが提供するDB移行支援サービスを使うことで、そのハードルを下げられる。

 データベース(DB)のクラウド移行は難度が高い作業です。特にミッションクリティカルなサービスのDBは一般的にスキーマ(テーブルやインデックス、ストアドプログラムが含まれる論理的な集合)やデータ量が多く、移行作業のための調査、そして実際の移行作業がより難しくなります。そのようなサービスは可用性の要件が厳しいため停止できる時間に限りがあります。こうした理由もDBのクラウドへの移行を難しくしています。DBMS(データベース管理システム)を変更する場合、スキーマやSQLの変換が必要となり、DB移行の難度はさらに高くなります。

 そこで検討したいのがクラウド移行サービスです。米アマゾン・ウェブ・サービス(AWS)、米マイクロソフト、米グーグルといったパブリッククラウドベンダーはオンプレミスから自社クラウド環境へのDB移行を支援するサービスを提供しています。今回はその中からAWSの「Schema Conversion Tool(SCT)」と「Data Migration Service(DMS)」について解説します。

DBのクラウド移行に必要な作業

 移行に必要な作業として、最初にやるべきことはそもそもクラウドへの移行が可能かどうかを調べることです。この工程では利用しているDBMSの独自機能の洗い出しやスキーマ、SQLの移行難易度を調査します。移行先のDBMSとの非互換性(ギャップ)がどの程度かを調べるのが目的です。次にスキーマ変換作業です。これは既存のスキーマをターゲットDB(移行先DB)の仕様に合わせて変換する作業です。

 スキーマ変換作業が完了したらSQLの変換作業をします。ここでは既存のSQLをターゲットDBで問題なく動作するように変換します。DBMSによっては独自仕様のSQL構文を利用しており、他のDBMSに移植したとき正常に動作しないものがあります。この作業で確認すべきことは、変換後のSQLがターゲットDBでエラー無く実行できること、常にソースDB(移行元DB)と同じ結果が得られることです。

 最後はデータ移行作業です。ここではソースDBに存在するデータをターゲットDBに移行します。データ移行が完了したら終了ではなく、移行したデータがソースDBのデータと相違が無いかを検証する必要もあります。これら作業の中で、SCTは移行の妥当性調査からSQL変換を担当、DMSはデータの移行と検証を担います。

図 DB移行に必要な作業と使用するツール
図 DB移行に必要な作業と使用するツール
AWS SCTとAWS DMSは役割が異なる
[画像のクリックで拡大表示]