このページの本文へ

アプリが動的に生成するSQLにも対応「Insight Database Testing V1.0」

DB移行時のSQLテスト/修正支援、インサイトテクノロジーが新ツール

2019年04月11日 07時00分更新

文● 大塚昭彦/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 データベース関連技術に特化したソフトウェア開発/コンサルティングを手がけるインサイトテクノロジーは2019年4月10日、企業のリレーショナルデータベース(RDBMS)マイグレーションを支援するソフトウェア新製品「Insight Database Testing V1.0」を提供開始した。オンプレミスからクラウドなど、異種RDBMS間のマイグレーション時に問題となるSQL文のテストや修正(書き換え)を支援し、マイグレーションの効率化とコスト削減を実現するツール。アプリケーションにハードコーディングされた静的なSQLだけでなく、動的に生成されるSQLにも独自のSQLキャプチャ技術で対応する。

「Insight Database Testing」の画面イメージ。ソースDB(移行元)で収集したSQLをターゲットDB(移行先)にテスト適用し、発生したエラーを表示している。ここからドリルダウンして個々のSQLの確認/修正/テストも可能
インサイトテクノロジー 代表取締役社長兼CEOのアレン・マイナー氏インサイトテクノロジー 取締役兼CTOの石川雅也氏

本番環境からSQLを自動キャプチャ、移行先でのテストと修正を効率化

 Insight Database Testingは、企業のRDBMS移行時におけるSQLの修正作業を支援するツール。今回のバージョンでは「Oracle Database」と「PostgreSQL」「Microsoft SQL Server」「MySQL」に対応している(SQL ServerとMySQLはソースDBとしてのみ対応、今後ターゲットDBとしても対応予定)。Amazon Web Services(AWS)の提供するPostgreSQL/MySQL環境(Amazon Aurora/RDS)もカバーする。

 ソースDBとターゲットDBが異なる異種RDBMS間のマイグレーション時には、アプリケーションが発行するSQLが移行先のターゲットDBでも正常に動作するかどうかを確認し、そのままでは動作しない場合にはターゲットDBに合わせて修正する必要がある。従来、こうした作業の多くはDBエンジニアの手作業に頼っていた。

 しかしながら現実にはさまざまな問題が生じる。たとえば、ソースDBとターゲットDBの両方に精通しておりSQLを書き換えられるDB技術者がいない、発行されるSQLについて記したアプリケーション開発時のドキュメントがない、アプリケーション実行時にSQLが生成される「動的SQL」のためソースコードからSQLを抜き出せない、そもそもテスト/修正すべきSQLの数が不明で移行にかかる工数/期間/実現性が見積もれない、といったものだ。

 同社でも、商用DBライセンス料の高騰や業務システムのクラウド移行に端を発する異種RDBMS間マイグレーションのコンサルティング案件が年々増加しており、特にSQLアプリケーション移行に問題を抱える顧客が多いことから、今回のInsight Database Testingの開発に至ったという。

Insight Database Testingの開発背景。異種RDBMS間のマイグレーションにおいて、SQLアプリケーションの修正を効率化する必要があった
同社が手がけたDBマイグレーション案件(赤い矢印が件数の多いパターン)。Oracle DBからPostgreSQL(オンプレミス)への移行が多いほか、今後はクラウド上のオープンソースDBへの移行も増えることが予想される

DBアセスメント/DBマイグレーションでメリット、AWSのDB移行ツールも補完

 同社 取締役兼CTOの石川雅也氏は、Insight Database Testingは「DBアセスメント」「DBマイグレーション」という2つの場面でメリットがあると説明した。業務アプリケーションを本番稼働させつつ、事前に移行可能性や修正作業量を見積もることができ、また実際のアプリケーション修正作業も効率化できるからだ。

 Insight Database Testingは、既存の本番環境において実際にアプリケーションが発行するSQLをすべてキャプチャ/収集し、マネジメントサーバーがそれを移行先のターゲットDBに対して発行することでSQLの互換性テストを行う。本番環境におけるSQLのキャプチャには、同社のデータベース監査ツール「PISO」が備えるダイレクトメモリアクセス技術を応用しており、本番環境のソースDBに大きな負荷をかけることなくSQLを収集できるという。また本番環境における各SQLの実行時間も記録しているため、ターゲットDBで実行した際のパフォーマンス比較テストも同時に行える。

Insight Database Testingのシステム構成。本番環境(ソースDB)のSQLをキャプチャし、ターゲットDBで実行可能かどうかをチェックする
デモ画面より。Insight Database Testingの画面上でエラーの出たSQLを表示し、内容を書き換えてテストを実行、成功するかどうかをチェックできる

 また石川氏は、AWSの提供するDBマイグレーション自動化ツールを補完する役割も果たせると説明した。AWSではAmazon Auroraへの移行を促すため、異種RDBMS間のスキーマ変換ツール「AWS Schema Conversion Tool(SCT)」やDBレプリケーションサービス「AWS Database Migration Service」を無償提供している。

 AWS SCTはアプリケーションコード(C++、C#、Javaなど)内のSQLを自動変換する機能も備えているが、動的SQLについてはサポートしていない。そこでInsight Database Testingが収集した動的SQLをAWS SCTに渡すことで、アプリケーションの修正に役立てることができるという。「AWSが提供するツールと行き来しながら、DBエンジニアがやらなければならない仕事を大幅に減らせる」(石川氏)。

AWSの提供するDBマイグレーションツールと組み合わせることで、アプリケーション修正を大幅に効率化できると説明した

 Insight Database Testingはサブスクリプションライセンスで提供される。ソースDBのコア数単位で、税抜価格は3カ月間で20万円/コア、6カ月間で40万円/コア、12カ月間で60万円/コアとなっている。初年度売上目標は50社、2億円(コンサルティングサービスを含む)。直販だけでなく、段階的にPISOパートナーやアライアンスパートナーを通じた販売も拡大していく方針としている。

「DBの専門家集団から『インサイト探求の専門家集団』へ変革していく」

 インサイトテクノロジー 代表取締役社長兼CEOのアレン・マイナー氏は、1995年にOracle DBのパフォーマンスチューニングツール開発からスタートした同社の歴史を振り返りながら、現在の顧客企業ニーズの変化に触れた。

 「1995年当時はいわゆる“SoR(Systems of Record)”がターゲットであり、DBには『データの正確性』しか求められていなかった。しかしおよそ20年後の現在、デジタルトランスフォーメーション(DX)、RDBMS以外のDBへの拡大、そして扱うデータ量の増大など、顧客企業には大きな変化が起きている。現在の顧客企業は、DXを進めるためにデータではなくて『インサイト』を欲している。われわれ自身も、データベースの専門家集団から『インサイト探求の専門家集団』への変革を目指さなければならないと考えている」(マイナー氏)

インサイトテクノロジーが提供してきたソリューション群。今後はプラットフォーム統合とAI/機械学習技術による「インサイト探求」を提供していく方向性

 「その時代時代に合わせた製品を提供していく」という目標のもと、近年では機械学習の研究や製品化なども進めているほか、DBレプリケーションツール「Attunity(アチュニティ)」など海外製品の日本への紹介も進めていると説明した。

 今回のInsight Database Testingについては、同社として初めて「マルチテナントのクラウドアーキテクチャを採用した製品」になったと述べ、今後は他のツール群も徐々に共通プラットフォームに統合していく方針を明かした。今後、APIの提供やプラットフォームへのAI組み込みなども進める方針で、Insight Database TestingについてもSaaS型の提供を検討しているという。「今後、開発哲学もトランスフォーメーションしていく」(マイナー氏)。

カテゴリートップへ

ピックアップ