 |

|
オープンソースソフトウェアの性能・信頼性評価手法
|
第7回:大規模データベースにおけるPostgreSQLの性能評価
著者:SRA 松田 亮一 2005/6/27
|
|
|
前のページ 1 2 3 4 次のページ
|
 |
DBT-3のクエリー
|
実行するクエリーについてもTPC-Hの仕様で規定されており、DBT-3は基本的に準拠している。クエリーには、22個の意志決定支援のための情報を検索するクエリーと、2個のシステム運用中のデータ増減をシミュレートするためのクエリーがある。
DBT-3では22個の検索クエリーが非常に特徴的であり、インデックスが使えない全行検索となるような複雑なSELECT文で構成されている。それぞれのクエリーには、Q1〜Q22という番号が付けられており、その中のひとつ(Q7)を以下に示す。
Q7のクエリー
|
select supp_nation, cust_nation, l_year, sum(volume) as revenue from (
select n1.n_name as supp_nation, n2.n_name as cust_nation,
extract(year from l_shipdate) as l_year,
l_extendedprice * (1 - l_discount) as volume
from supplier, lineitem, orders, customer, nation n1, nation n2
where s_suppkey = l_suppkey and o_orderkey = l_orderkey
and c_custkey = o_custkey and s_nationkey = n1.n_nationkey
and c_nationkey = n2.n_nationkey
and ((n1.n_name = 'JAPAN' and n2.n_name = 'VIETNAM')
or (n1.n_name = 'VIETNAM' and n2.n_name = 'JAPAN'))
and l_shipdate between date '1995-01-01' and date '1996-12-31'
) as shipping
group by supp_nation, cust_nation, l_year
order by supp_nation, cust_nation, l_year;
|
2個のシステム運用中のデータ増減をシミュレートするSQLは、リフレッシュクエリーと呼ばれ、RF1〜RF2という番号が付けられている。表2に実行するSQLを示す。
|
RF1 |
insert into lineitem …; Inesrt into orders …; |
RF2 |
delete from lineitem …; delete from orders …; |
表2:リフレッシュクエリー
|
意志決定支援システムでは、同時に複数のユーザが検索するようなWebアプリケーションとは異なり、意志決定に携わる極少数のユーザが利用するのが一般的である。DBT-3では同時に実行するユーザ数をストリーム数と呼び、DBT-3の実行時に指定できる。
|
DBT-3の測定内容
|
DBT-3を実行すると、データベース投入用のテキストファイルを作成した後に、次の3つのテストを連続実行する。
ロードテストは、あらかじめ作成しておいたテキストファイルのデータを、データベースにロードした時間を測定する。パワーテストは、22+2個のクエリーについて、ストリーム数を1として実行した時間を測定する。スループットテストは、22+2個にクエリーについて、指定のストリーム数で実行した時間を測定する。
実行した結果は図2に示すようなHTMLのレポートとして出力できる。
図2:DBT-3実行結果のレポート (画像をクリックすると別ウィンドウに拡大図を表示します)
ここまでに説明したDBT-3の概要と、実際のインストール方法および実行方法の詳細については、報告書のDB層6章の6.1〜6.3を参照のこと。
|
前のページ 1 2 3 4 次のページ
|

|
|

|
著者プロフィール
株式会社SRA 松田 亮一
Smalltakerを目指すべく中途入社。現在はPostgreSQL+Javaに関するサポート/コンサル/セミナー講師などを業務としている。また、The Seasar Projectコミッタ、Jun for Java Projectコミッタとして、OSS活動を行っている。
|
|
|
|