|
||||||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||||||
| はじめに | ||||||||||||||||||||
|
大規模なデータ環境におけるオープンソースデータベースの性能評価として、再実行可能な共通手順の作成および、その手順に基づく測定と評価を実施した。実施した内容は次の2つである。
手順および結果は、「DB層の評価」報告書(以下、報告書)としてIPA(独立行政法人情報処理推進機構)のWebサイトで公開されている。報告書は具体的かつ詳細に記述してあるが、本記事はその要約というだけではなく、報告書を読み進めるためのガイド役となるように記述した。 なお、PostgreSQLについては、読者に前提知識があるものとして詳細は記述しない。適宜、マニュアル等を参照されたい。 |
||||||||||||||||||||
| DBT-3による検索性能の測定 | ||||||||||||||||||||
|
一般的にベンチマークというと、SQLを同時に実行するユーザ数を増やすといった高負荷時の性能測定が思い浮かぶだろう。そういった性能測定にはDBT-1が適しており、前回と前々回の記事に掲載されているのでそちらを参照されたい。 本記事で説明するDBT-3は、意志決定支援システム(DSS:Decision Support System)環境における性能測定を行うツールであり、TPC-Hの簡易版である。データ量の多い大規模なデータベースにおいて、サブクエリーなどを含む複雑なSQLの実行性能が測定できる。 |
||||||||||||||||||||
| DBT-3とは | ||||||||||||||||||||
|
データベースのパフォーマンスチューニングでは、通常はインデックスとキャッシュの設定から確認する。検索対象の行数やテーブルの行数にもよるが、全行を読み取るシーケンシャルスキャンよりも、インデックススキャンの方が圧倒的に速い。また、一度読み取ったデータを再び読み取るような場合に、キャッシュに格納されていればディスクアクセスの必要がないので、かなり速くなる。 しかし、インデックスが効果的に使えないケースもある。具体的には表1に示すような集約クエリーや部分一致検索といった、例えカラムにインデックスが設定してあっても全行検索になってしまうクエリーの場合である。 |
||||||||||||||||||||
表1:インデックスが使えないクエリー |
||||||||||||||||||||
| また、キャッシュが効果的に使えないケースとは、データベースの規模が大きくて、メモリに入りきらずにキャッシュからすぐに溢れ出てしまう場合である。 このようなケースが発生するのは、キャッシュが効果的に使えないほど大規模なデータベースにおいて、インデックスが効果的に使えないくらいに複雑なクエリーの実行が要求される場合である。 そのような場合のひとつとして、意志決定支援システム環境がある。そして、意志決定支援システム環境におけるベンチマークを行う物としてTPC-Hがあり、それを簡略化した物がOSDL-DBT-3である。 DBT-3はTPC-Hを簡略化した物であり、測定結果の公開などの自由度も高いが、DBT-3の測定結果はTPC-Hとは無関係であり、比較することはできない点に注意が必要である。 |
||||||||||||||||||||
| DBT-3のテーブル構成とデータ量 | ||||||||||||||||||||
|
テーブル構成と投入するデータ量についてはTPC-Hの仕様で規定されており、DBT-3はそれに準拠している。データ量はスケールファクターという単位で指定でき、それがデータベースの規模となる。各テーブルに投入するデータの行数は、スケールファクターを基準にして決定される。図1に、テーブル構造およびテーブル毎の行数を示す。 投入するデータは、テキストファイルとして作成される。そのテキストファイルのサイズが、およそ「スケールファクター×1GB」となる。PostgreSQLの場合は、テキストファイルのデータを投入すると、データベースクラスタのディスク使用量はおよそ4倍を消費することになる。 例えば、36GBのディスクをデータベースクラスタ専用に割り当てた場合は、ファイルシステムやVACUUM対象のゴミ領域の見積もりによっても異なるが、スケールファクターとして8までを指定できると計算できる。DBT-3を実行する際には考慮して頂きたい。 |
||||||||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||||||||
|
資料紹介 「OSSの性能・信頼性評価/障害解析ツール開発」報告書 本記事は、OSS推進フォーラム 開発基盤ワーキンググループによって公開されている「OSSの性能・信頼性評価/障害解析ツール開発」報告書を基に記事を掲載しています。報告書には、本記事で紹介した評価手法の詳細な手順、評価結果、考察が記載されています。 Javaアプリケーション層の評価、DB層の評価、OS層の評価の各報告書や付録、障害解析ツール開発に関する各報告書などが、OSS推進フォーラム 開発基盤ワーキンググループのホームページにて公開されています。 ■「DB層の評価」報告書(PDF形式/1.68MB) http://www.ipa.go.jp/software/open/forum/Contents/DevInfraWG/db.pdf ■日本OSS推進フォーラム・開発基盤ワーキンググループホームページ http://www.ipa.go.jp/software/open/forum/DevInfraWG.html |
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||


