Insight Technology

2018.02.09

データの仮想化と自動化がもたらす開発効率アップとは?(後編)

このエントリーをはてなブックマークに追加

william-bout-264826-768x512.jpg

データをDBにインポートすること自体は難しいことはありません。しかしながら、データの容量が大きければ時間がかかります。また、同時に複数のDBにデータをインポートする場合、データの読み出し元がボトルネックになり、さらに時間がかかります。さらに用意するDBのディスク容量も一つ一つのDBサーバーに用意が必要です。これまでのシステム構築で考えれば当たり前の事です。

しかしながらサービスの大競争時代に入っている今、他の方法も検討すべきではないかと考えています。

データの効率的なインポート

例えばこのようなテストケースを考えてみます。あるプログラムモジュールを試験すると、DBの中身が書き換わるプログラムがあったとします。そのプログラムの評価をするために、試験対象のプログラムモジュールの分岐を正しく判断できているかを確認する複数のテストプログラムを実行する必要があるとします。また、プログラムモジュールにバグのないことを判定するためには、DBの内容を初期状態に戻す必要があるとします。

この場合、1回のテストを実行するとDBの中身が変わってしまうので、複数のテストプログラムを同時に実行することができません。テストプログラムを1本実行し、再度DBへのデータのインポートを実施してから次のテストプログラムを実行する必要があります。

同じDBの書き換えを行うプログラムモジュールを同時にテストするには?

同時に実行するためにはどうすれば良いでしょうか?
機材やストレージには目をつぶり同じような環境を同時に作るしかないのでしょうか?

コストをかけるか、時間をかけるかのトレードオフ以外の方法を考えてみましょう。

例えば、仮想化技術のあるストレージとDBを組み合わせる方法があります。高機能なストレージにはデータを仮想化する技術を実装しているものがあり、そのストレージを駆使することで複数のDBインスタンスを起動することができそうです。

ただし、ストレージとDBを自由に立ち上げるようにするためにはそれなりのインテグレーションの必要があります。インテグレーションにかける時間または金額とこれまでのやり方を天秤にかける必要があります。もし、DBの管理とストレージを掛け合わせた製品があれば、上記のようなテストシナリオを満たすことができそうです。例えば、DBの種類やバージョンを認識して自動でDBを起動してくれるシステムと仮想化技術をもつストレージがあれば良いですよね。

DB仮想化ソフトウェアアプライアンス「Delphix」とは

実はそのような発想で生まれた製品が「Delphix(デルフィックス)」です。

data-viatulization-automation_2.png

DelphixはDBサーバーからデータを取得し、重複排除と圧縮するストレージを内包したソフトウェアアプライアンスです。高機能ストレージと違い、DBサーバーからデータを取得しDBインスタンスを立ち上げるDBネイティブな技術が実装されています。

また、複数のDBやアプリケーションをテスト前の状態に戻したり、過去に実行した結果の状態に戻す画面をユーザに公開したりすることでシステム管理者への依頼する時間とシステムの引き渡しの待ち時間を削減することが可能なのです。

それでは、今回は以上となります。下記資料もご参考までにご覧いただければと思います。

20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹 from Insight Technology, Inc.

Delphixによるテストデータの管理に興味を持たれた方は、ぜひこちらもご覧ください。

ページトップへ