DBT-3 1.9におけるデータ再利用機能に関する報告

SRA OSS, Inc. 日本支社

大規模データベース環境におけるDBT-3の測定効率を向上させるため、DBT-3にデータ再利用機能を追加した。 ここでは、データ再利用機能の概要を述べるとともに、その有効性について評価する。

概要

データ再利用機能は、Loadテストによって構築されたデータベースを再利用することにより、DBT-3ワークロードの実行時間を短縮する機能である。 初回は通常どおりにDBT-3ワークロードを実行するが、その際にLoadテストによって構築されたデータベースをバックアップしておき、次回以降はバックアップしたデータベースを再利用してDBT-3ワークロードを実行する。

ダウンロード

  • dbt3-1.9-20060927.patch.gz
    • -dオプション(データ再利用機能)を追加
    • PowerテストやThroughputテストの実行に1日以上かかると、実行時間をパースできず、測定結果を出力できない不具合を修正
    • sadcコマンドのパスを解決できず、プロセスを停止できない不具合を修正
    • get_version.shスクリプトを実行できず、測定結果にバージョンが表示されない不具合を修正

インストール

「DBT-3 1.9によるPostgreSQLの評価手順」に従ってDBT-3をインストールする。 ただし、「DBT-3 1.9によるPostgreSQLの評価手順」ではDBT-3へのパッチファイルとして「dbt3-1.9-20060329.patch.gz」を適用しているが、データ再利用機能を使用するにはその代わりに「dbt3-1.9-20060927.patch.gz」を適用する。

使用方法

データ再利用機能を使用するには、DBT-3ワークロードを実行する際に-dオプションの引数としてLoadテストによって構築されるデータベースをバックアップするディレクトリを指定する。 なお、-d以外のオプションについてはDBT-3とまったく同じである。

指定されたディレクトリが存在しない場合や空の場合は、Loadテストを実行して構築されたデータベースをバックアップし、DBT-3ワークロードを実行する。 データベースのバックアップは、指定されたディレクトリ内のスケールファクターごとのディレクトリに格納される。

例えば、以下のように、データベースをバックアップするディレクトリが/backupsで、スケールファクターが1であれば、実際にデータベースがバックアップされるディレクトリは/backups/1となる。

./run_workload.sh -d /backups -f 1 -g -n 2 -s 2006

指定されたディレクトリがすでに存在する場合は、バックアップされているデータベースをリストアし、Loadテストを省略してDBT-3ワークロードを実行する。 なお、シード値を変更してDBT-3ワークロードを実行する場合、バックアップしたデータベースを削除し、データベースを再構築する必要がある。

評価結果

データ再利用機能の有効性を確認するため、以下の条件のもとでDBT-3ワークロードを実行した結果について考察する。

  • PostgreSQL 8.1.4を使用
  • シード値は2006に固定
  • スケールファクターを1、2、3に変化
  • ストリーム数は2を指定

データ再利用機能を使用しない場合と使用した場合のDBT-3ワークロードの実行時間は図1に示すとおりである。


図1: データ再利用機能とDBT-3ワークロードの実行時間

DBT-3ワークロードの実行時間はLoadテスト、Powerテスト、Throughputテストの実行時間のおよそ合計である。 データ再利用機能はLoadテストを省略することによってDBT-3ワークロードの実行時間を短縮する。 ただし、Loadテストを省略するためには、Loadテストによって構築したデータベースをあらかじめバックアップしておき、DBT-3ワークロードを実行する際にリストアする必要がある。 図1においてrestoring dataはデータベースのリストアに要した時間である。

データ再利用機能を使用することにより、スケールファクターが2までではDBT-3ワークロードの実行時間が逆に長くなっているが、3では短くなっている。 データ再利用機能を使用することによってDBT-3ワークロードの実行時間が長くなったのは、データベースの規模が小さく、Loadテストを実行することによってデータがディスクにキャッシュされ、Powerテストの実行時間が短くなったためであると考えられる。 それに対して、スケールファクターが3のときには、Loadテストの実行がPowerテストに与える影響が無視できるものとなり、データ再利用機能によってDBT-3ワークロードの実行時間を短縮できている。

データ再利用機能は、スケールファクターが小さい場合にはDBT-3ワークロードの実行時間が長くなるものの、スケールファクターが大きい場合、つまり、この機能の使用を想定している大規模データベース環境においては実行時間の短縮によって実行効率を向上させることが可能である。