全4901文字

 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に移行する手順の例
オンプレミス環境で稼働中の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をテストした結果
Insight Database TestingでSQLをテストした結果
(出所:インサイトテクノロジー)
[画像のクリックで拡大表示]