ホワイトペーパー紹介|データベース・アプリケーションの移行を促進するキーソリューション
こんにちは!インサイトテクノロジーマーケティング本部です。
異なるデータベース製品への移行や、同じデータベース製品でもバージョンアップを行う際に、SQLがエラーとなったり、クエリの結果が異なっていたり、性能が著しく劣化することが結構起こるのではないでしょうか。その場合、通常はSQL文そのものを発行しているアプリケーションの解析などを通して、発行される可能性のあるSQL文の洗い出しを行う必要があります。
しかし、近年のアプリケーションでは、SQL文の生成・発行をORマッパーなどに依存していたり、SQL文をアプリケーションコード内で生成したうえでデータベースに対してSQL文を発行して実行していたりするケースが多く、開発者によるアプリケーションコードの解析では実際に発行されるSQL文を予見することが簡単でないケースも多く存在します。また、開発担当者でない担当者がコード解析を行う必要がある場合はそのハードルは高く、担当する人間のスキルにも大きく依存し、多大な工数が必要となります。
移行テストの手間とコストを抑えるためのツールとして、Insight Database Testing (以下Insight DT)が開発されました。本日ご紹介するホワイトペーパーを通してInsight DTが実現できることや処理の流れ、ユースケースなどについてご理解していただけます。
Insight DTでできること
Insight DTでは、移行前データベース上で実際に発行されているSQLを収集することで、アプリケーションのソースコード解析などから簡単に予見できないようなSQL文も含めて簡単に収集することが可能です。
さらにその収集したSQL文を数クリックで、移行対象DBに対して実行テストができるため、SQLの構文チェックを簡単に行うことができ、さらに同じデータを用意して実行することで、実行パフォーマンス変化についても一覧で確認することできます。
特徴の一つとして、Insight DTではデータを収集する際のデータベースへの負荷が少ないということがあげられます。これはInsight DTが、弊社が16年間販売しているデータベース監査製品PISOで培われてきた独自テクノロジーに基づいてSQL文を収集しているからです。
Insight DTのユースケース
Insight DTを活用いただいている中での主要な利用パターンについてご紹介します。
a. ソースDB:Oracle Database → ターゲットDB:PostgreSQL
Oracle Databaseと高い互換性を謳うデータベースでも、100%の互換というわけではないため、データベース移行のプロジェクトにおいては、事前にアプリケーション改修コストを見積もることが重要となってきます。
b. ソースDB:Oracle Database → ターゲットDB:Oracle Database(Oracleのバージョンアップ)
異なるデータベース間でSQL 間の方言の差を検出するだけでなく、Insight DTは同じデータベースのバージョンアップで発生し得る、SQLエラーや著しい性能劣化を検出することが可能です。あるいはSQL テストの網羅性を担保するために使用することが出来ます。
c. AWSへの移行:スキーマ変換ツール、データマイグレーションツールとともに
AWSへ移行する場合には、スキーマ変換には「AWS Schema Conversion Tool (AWS SCT)」を、データ移行には「AWS Database Migration Service (AWS DMS)」を利用可能です。SQL の変換が必要な場合はAWS SCTを連携させ、SQLを自動で修正します。
ここまで紹介した内容のほか、本ホワイトペーパーでは、Insight DTの処理の流れについて図版を上げながら解説しており、Insight DTの対応環境なども詳しく掲載しておりますので、興味がある方はぜひ以下のボタンよりダウンローしてご一読ください!