Oracle Database(Oracle DB)から他のDBへの乗り換えを考えているユーザーにとって、“新兵器”とでも呼ぶべき移行支援ツールが現れた。2019年4月10日にインサイトテクノロジーが提供開始した「Insight Database Testing」がそれだ。「DB移行で難易度の高いSQLの変換作業を効率化できる」。インサイトテクノロジーの生熊清司マーケティング本部長はツールのメリットをこう強調する。

 Insight Database Testingが狙うのは、オンプレミス環境で稼働中のOracle DBからの乗り換えだ。「オンプレミス環境からクラウドへの移行をターゲットにしており、商用DBからクラウド上のDBサービスへの乗り換えを支援する」(生熊本部長)。つまり移行元として、オンプレミス環境で大きなシェアを持つOracle DBはメインターゲットになる。

 移行先のDBは今回発表のV1.0では、Oracle DBとPostgreSQLの2つ。ただし、PostgreSQLの互換製品も含まれるので、AWS(Amazon Web Services)の「Amazon Aurora PostgreSQL」や富士通の「Fujitsu Symfoware Server(Postgres)」などへの移行も可能。もちろん、仮想マシンに導入したPostgreSQLや、「Amazon RDS for PostgreSQL」のようなマネージドサービスも移行先候補である。

 今後は移行先として、Microsoft SQL ServerとMySQLを加える計画だ。

修正対象のSQLを洗い出し

 一般にDBの乗り換えでは、(1)DBスキーマの変換、(2)データの移行、(3)アプリの移行という大きく3つの作業が必要だ。Insight Database Testingはアプリの移行に際し、SQLの互換性テスト、パフォーマンス比較、修正結果の動作検証の機能を提供する。

オンプレミス環境で稼働中のDBを、クラウドにある別のDBに移行する手順の例
(出所:インサイトテクノロジー)
[画像のクリックで拡大表示]

 Insight Database Testingは、スキーマ変換やデータ移行ツールと組み合わせて、DBを乗り換えるためのアセスメントとマイグレーションを行う。例えばAWSへの移行であれば、スキーマ変換には「AWS Schema Conversion Tool (AWS SCT)」を、データ移行には「AWS Database Migration Service (AWS DMS)」を利用可能。マイグレーションフェーズでは、AWS SCTを連携させ、SQLを自動で修正する。

 Insight Database TestingはDBの移行元DBのメモリー空間からSQLをキャプチャーしたうえで、移行先DBでテストする。メモリー空間にあるSQLを参照するので、変数から動的に生成されるSQLも取得可能だ。メモリーの参照に当たっては、同社のDB監査ツール「PISO」で培った「Direct Memory Access」と呼ぶ技術を応用し、稼働中のDBへの負荷を抑えている。

 キャプチャーしたSQLを移行先DBに発行し、そのままでも動くのか、修正が必要なのかなどをレポートで出力する。「修正対象のSQLの本数や、シンタックスエラーといった修正の難易度が分かるため、修正作業の工数を見積もりやすくなる」(生熊本部長)。従来は、人海戦術で修正対象のSQLを調査する必要があった。

 Insight Database Testingは移行元と移行先でSQLのパフォーマンスも比較するので、修正しなくても動くが、移行すると遅くなるSQLも洗い出せる。

Insight Database TestingでSQLをテストした結果
(出所:インサイトテクノロジー)
[画像のクリックで拡大表示]

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら