しばらくアカデミックっぽい話が続いたので、今回からはもう少し業務に直結した具体的な評価ツールを紹介していこう。

現在の業務システムに欠かせないものといえば、やはりデータベースである。蓄積される膨大なデータをデータベースシステムが効率的に処理できるかどうかによって、システムの性能は大幅に変わってくる。実際、当初の見込みどおりに性能が発揮されず、データベースのパフォーマンスチューニングのためにプロジェクトの進捗が大幅に遅れるといったケースは多くある。性能上のボトルネックを素早く特定し、短期間で問題を解決するためには、データベースシステム向けのテストツールを上手く使いこなすことが非常に重要である。こういったときに便利なツールが「OSDL Database Test Suite」だ。

OSDL Database Test Suiteは、OSDL(OpenSource Development Labs)が開発したデータベースシステム向けの統合テストスイートで、目的に応じて異なる以下の4種のテストに分かれている。

テスト
説明
DBT-1 オンライン書店を想定し、Webアプリケーションのトランザクションをシミュレートするテストを行う。TPC-Wに相当
DBT-2 卸売業者の部品在庫検索処理や顧客情報更新処理のような、複数ユーザによるオンライントランザクション処理をシミュレートする。TPC-Cに相当
DBT-3 意思決定支援システムを想定し、リアルタイム性の高い並列データ処理をシミュレートする。TPC-Hに相当
DBT-4 アプリケーションサーバとWebサービスによる企業間取引の環境(所謂B2B)を想定したテスト。TPC-Appに相当

それぞれのテストは、データベースの定量的な性能評価ではデファクトスタンダードといえる「TPC」(Transaction Processing Performance Council)ベンチマークの仕様に準じて実装されている。ただしTPCの仕様を完全に満たすものではないので、OSDL Database Test Suiteによって得られた結果をTPCベンチマークの結果と混同しないよう注意が必要だ。例えば、TPC-WとDBT-1の結果を比較しても、何も意味のある結論は得られないということだ。

さて、OSDL Database Test Suiteは「OSDL」が開発したぐらいなので、当然そのターゲットはオープンソースのデータベースである。DBT-1、DBT-3は、PostgreSQLと、MySQL ABのMaxDBに対応している。MaxDBは、Adabas Dからオープンソース化されたSAB DBを経て、MySQL ABがライセンスを取得および販売しているデータベースシステムである。DBT-2は、この2つに加えMySQL 4.0以降にも対応している。DBT-4については、今のところWebサイト上に記載がないが、リソース本体を見るとPostgreSQLは対象としているようだ。

なお、テストを実行するオペレーティングシステムにはちょっと注意が必要である。OSDL Database Test SuiteはMac OS Xを含むBSD系のシステムと、Linux、SolarisなどのPOSIX準拠のシステムで動作する。現在はMySQLもPostgreSQLもWindows上でネイティブに動作するようになっているが、OSDL Database Test SuiteをWindows上で実行することはできない。そのようなわけで、次回はまずOSDL DBT-1によるテストの手順を紹介していくことにしよう。

なお、OSDLは今年、Free Standards Groupと合併してThe Linux Foundationとなっている。