第7回:大規模データベースにおけるPostgreSQLの性能評価 (2/4)
 |

| | オープンソースソフトウェアの性能・信頼性評価手法 | 第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活動を行っている。
|
|
 |
|
 |
|