EnterpriseDBエンジニアリング調査

EnterpriseDB エンジニアリング調査
パフォーマンスのベンチマーク
EnterpriseDBホワイトペーパー
DBA、アプリケーション開発者、エンタープライズアーキテクト向け
2008 年 2 月
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
2
要旨
エンタープライズ向けのデータベースにおける重要な要件は、相対的なベ
ンチマークに基づく高いパフォーマンスです。EnterpriseDBは、2004 年
3 月に設立されて以来のPostgreSQLコミュニティの活発なメンバーおよ
びスポンサーであり、PostgreSQLデータベースのパフォーマンス向上の
ためにコミュニティと共同作業を行ってきました。
こ の 目 標 の た め に 、 EnterpriseDB は PostgreSQL お よ び Postgres Plus
Advanced Serverの双方のパフォーマンスを向上させるための専門のパ
フォーマンスセンターを設立しました。こうした作業とPostgreSQLコ
ミュニティの尽力の結果、現在のネイティブPostgreSQLは以前のバー
ジョンよりも 2 倍高速であると考えられています。
さらに EnterpriseDB は、製品のパフォーマンスを向上させるために、引
き続き Postgres Plus Advanced Server に高いパフォーマンスの機能を追
加しています。このプロセスの一環として、EnterpriseDB エンジニアは
日常的に、市場内の他の競合技術に照らして、データベースのパフォーマ
ンス、そして必然的に価格/パフォーマンスを測定しています。
パフォーマンスに関する最新のEnterpriseDBエンジニアリング研究の結果
では、非常に大規模なデータベース競合ベンダーと比較して、Postgres
Plus Advanced Serverの価格/パフォーマンス面の優位性を確認し、3 大
OLTPデータベースベンダーに対して価値ある代替製品であることを明ら
かにしました。この調査から得られた 2 つの重要な結果は次のとおりで
す。
• Postgres Plus Advanced Serverは、BigDBMSの 90%のパフォーマ
ンスです。
• BigDBMS の 価 格 / パ フ ォ ー マ ン ス の 結 果 は 、 Postgres Plus
Advanced Serverと比較して 300%を超える高コスト値になります。
トランザクション/分
トランザクション/分
あたりのコスト
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
3
BigDBMSとは? 伝統的なデータベースベンダーのライセンス契約では、相対ベンチマークテス
トは許可されていません。 BigDBMSは、特定のデータベースベンダーを指すものではありませ
んが、単一のエンティティにグループ化したより有力な企業の現実的な概算値を表します。
EnterpriseDBエンジニアは、複数のオペレーティングシステム/ハード
ウェアプラットフォームおよび複数のデータベース技術を対象にして実行
可能なBenchmarkSQLを使用して、テスト環境内ですべてのパフォーマ
ンステストを実施しました。さらにBenchmarkSQLでは、実際の負荷を
シミュレートする可変長のテストを実行できます。
このテストは、オープンソース JTPCC プロジェクト上に構築されており、
すべてのデータベースで一貫性をテストするために準備した SQL 文を処
理する機能を併せ持ちます。両テストのリンクについては、5 ページのセ
クション「アプリケーションのベンチマークと方法論」を参照してくださ
い。
アプリケーションのベンチマークと方法論
データベースのパフォーマンスベンチマークは、各データベースに関連す
るチューニング項目の数が多いことから、困難な作業になります。さらに
パフォーマンスのタイプは、アプリケーションのタイプ、データベースの
アーキテクチャ、その他ほとんど無限数存在するパラメータに応じて大き
く異なります。
パフォーマンスのベンチマークで客観的な比較を行うための努力の一環と
して、いくつかの企業がさまざまなタイプのデータベースアプリケーショ
ンの使用事例をテストするために、シナリオの仕様を作成するベンチマー
ク協会を組織しました。
正式なパブリックベンチマークを完了するには、長い時間と大きなリソー
スが必要であり、特にテスト対象のハードウェアおよびデータベースソフ
トウェアに対して最初から記述されるテストドライバアプリケーションが
要求されます。クロスデータベースベンチマークで必要とされるものは少
し異なり、データベースベンダーおよびハードウェアプラットフォームに
対して中立的なテストドライバアプリケーションが求められます。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
4
EnterpriseDB エンジニアがこのテストで使用したベンチマークセットは、
業界のベンチマーク協会のシナリオに基づいてモデル化されたものです。
ただし、これは正式な実装ではなく、この調査結果を正式な公表レポート
とみなすべきではありません。
このテストで EnterpriseDB は、オープンソースデータベースベンチマー
クドライバアプリケーション JTPCC を選択し、テスト対象のすべてデー
タベースに準備した SQL 文をプッシュするための拡張を行いました。
JTPCC のこの拡張バージョンは、BenchmarkSQL と呼ばれるオープン
ソースプロジェクトとしてリリースされました。
BenchmarkSQL では、さまざまなデータベースに対してテストを実行で
きます。これは、オペレーティングシステムおよびハードウェアに対して
中立の Java アプリケーションであり、データベースと通信するために
データベースに対して中立のドライバ(この場合は JDBC)を使用します。
これにより、独自形式のインターフェイスなどパフォーマンスに影響を及
ぼす外部要因を実質的に排除でき、最終結果の比較でテスト対象のデータ
ベースのコア SQL 処理およびトランザクション処理の能力により焦点を
当てることができます。
こ の オ ー プ ン ソ ー ス BenchmarkSQL プ ロ ジ ェ ク ト は 、
http://sourceforge.net/projects/benchmarksql/で入手できます。
ま た 、 BenchmarkSQL の 基 礎 と な っ た JTPCC ベ ン チ マ ー ク は 、
SourceForge(http://sourceforge.net/projects/jtpcc)で入手できます。
BenchmarkSQL OLTP(Online Transaction Processing)のシナリオでは、
注文を管理する卸売業者をモデルにしています。このテストは、データ
ベースに対してトランザクション負荷を課した後、この負荷の下で発行お
よび完了できる新しい注文をカウントするように設計されています。
トランザクション処理に加えて、このベンチマークスイートは一連の処理
を大規模なトランザクションに組み合わせます。トランザクションと参照
の一貫性がテスト期間中に維持されるように、テストの実行中にトランザ
クションの履歴を維持し、この履歴を実際の結果と比較します。このテス
トが無条件で失敗するトランザクションデータベースエンジンは存在しま
せん。
ベンチマーク構成
テストパラメータの設定
この比較調査では、すべてのデータベーススキーマをまったく同じように
セットアップしました。このテストは、100 のウェアハウスの設定に対し
て BenchmarkSQL により実行されました。BenchmarkSQL は、1 x AMD
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
5
Athlon 64 3200+プロセッサ、1 GB RAM、および 80GB の記憶域を備え
る Dell Dimension E521 コンピュータにホストされました。
データベースは、4×2.6GHz デュアルコア Intel Xeon プロセッサ、4GB
RAM 、 お よ び 合 計 576GB の 記 憶 域 を 提 供 す る PowerVault MD1000
Storage ユニットを備える Dell™ PowerEdge 6850 コンピュータ上にホス
トされました。
このテストは、シミュレートされたオペレータグループにより実行される
5 つのトランザクションセットをモデルにしています。モデル化されたト
ランザクションは次のとおりです。
•
•
•
•
•
新しい注文
支払
注文状況
納入
在庫水準
こうしたオペレータが操作するデータセットは、実際の業務の構造データ
の要件をエミュレートしています。この例では、架空の会社が複数のウェ
アハウスを持ち、これらの各ウェアハウスが 10 の区域を持ちます。
各区域は、注文トランザクションの番号付けのために独自のシステムを持
ちます。各区域には、新しい注文の作成、支払の登録、既存注文の状況の
チェック、配達伝票の発行、在庫水準のチェックを行う独自のオペレータ
が存在します。各区域は、3000 の顧客を持ちます。
各ウェアハウスは、100,000 品目のリストから成る商品を持ちます。した
がって、各ウェアハウスについて最大で 100,000 品目の在庫水準を維持
する必要があります。情報は、ウェアハウスを追加するたびに非常に速く
増大します。
たとえば、100 のウェアハウスに対するテスト実行では、1000 の区域が
存在し、その各区域に 1 人のオペレータ(トランザクションをプッシュ
する 1000 の端末接続が存在することを意味します)と 3000 の顧客がい
るために、合計 3,000,000 の顧客と各顧客について生成されるすべての注
文の状況を追跡する必要があります。
その結果、10,000 のウェアハウスをシミュレートするベンチマークでは、
100 のウェアハウスをシミュレートするテストよりも格段に高容量の基盤
ハードウェアが必要になります。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
6
テストのシミュレートエンティティの相対数
区域 1
ウェアハウス 1
区域 2
顧客
会社
区域 10
ウェアハウス n
このテストでは、上記の他の 4 トランザクションからの高負荷の下で、
データベースのロースループットだけでなく、新しい注文トランザクショ
ンのスループットを計測するように設計されています。こうしたトランザ
クションでは、負荷を課すだけでなく、複数のポイントからアクセスおよ
び変更される情報の完全性を実質的および効率的に維持するデータベース
の機能も動作させます。
データベースは、同じ情報に対して同時トランザクションを処理し、関連
する特定の時点で正確な結果を提供する責任を負います。たとえば、注文
の状況のチェックでは、データベースの複数バージョンの同時制御性をテ
ストし、注文の状況に対するクエリーから返される値が正確な要求時の状
態を反映しているべきです。これは、クエリー発行の数ミリ秒後に注文の
状態を変更する更新が実行されたとしても当てはまります。
正常な負荷がデータベースに課せられ、同時に新しい注文トランザクショ
ンが処理されるように、他の 4 つのトランザクションタイプの最小比率
が維持されます。この比率は、1 件の新しい注文について少なくとも 1 件
の支払トランザクション、10 件の新しい注文について少なくとも 1 件の
注文状況、納入、および在庫水準のトランザクションを基準目標とします。
この注文は、テストアプリケーションにより維持されます。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
7
テストのトランザクションの比率
トランザクションタイプ
構成%
新しい注文
最大45.0
支払
最小43.0
注文状況
最小4.0
納入
最小4.0
在庫水準
最小4.0
データベースを定常トランザクション速度に到達させるためにのみテスト
を実行する期間をランプアップといいます。テストのランプアップ期間は
10 分でした。この期間に、キャッシュが充填され、優先順位が設定され
ます。データベースでは、テストにより生成される負荷に対してチューニ
ングする時間を設けます。すべてのテストデータベースは、10 分のラン
プアップ期間後に安定状態に達しました。
ランプアップ期間の後の測定間隔は 60 分でした。この測定間隔は、1 分
ごとにトランザクションを追跡する期間です。
テストドライバアプリケーション BenchmarkSQL は、テスト対象の各
データベースに可能な限り多くのトランザクションをプッシュするように
設定されました。さらにこのシナリオでは、考えられる最も強い負荷およ
び更新の競合を発生させるために、標準のベンチマーク協会スタイルのテ
ストに含まれる待ち時間をスキップするように設定されました。新しい注
文トランザクションの実効レートは、300 のウェアハウスおよび 3000 の
端末の最大スループットにほぼ対応します。
テストのBenchmarkSQLパラメータ
パラメータ
ウェアハウス
値
100
エントリ端末
100
1
区域
1,000
顧客2
3,000,000
テストランプアップ
10分
テストの長さ
60分
1 ウェアハウスと区域の比率は1:10に固定されています。
2 区域と顧客の比率は1:3000に固定されています。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
8
ベンチマーク SQL 5.2 - レポート日 2007 年 4 月 16 日
24 時間 365 日のサポート
を含むデータベース
エディション
データベース
ベンダー
データベース
ライセンスを含む
総システムコスト
トランザクション/
分
プロセッサ
OS
サーバー
システムコンポーネント
価格/
パフォーマンス
数
説明
クライアント
数
説明
プロセッサ
メモリ
ディスクコントローラ
ディスクドライブ
総記憶域
ハードウェアシステムの合計価格
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
9
すべてのテストデータベースのソフトウェア構成
以下に示す製品は、そのすべてを実行するハードウェア(8 CPU コア、4
ソケット)に対する各データベースベンダーのライセンスモデルに準拠し、
3 年間の保守期間および 24 時間 365 日のサポートに対するコストが含ま
れます。価格は、各テストベンダーの広告表示価格を反映したものです。
Postgres Plus Advanced Server は、ソケットごとにライセンスされる登
録モデルです。BigDBMS Enterprise は、伝統的なライセンスおよび保守
モデルに準拠します。
プロセッサ
EnterpriseDB
Advanced Server
4
BigDBMS Enterprise
4
初期ライセンス
N/A
$40,000/プロセッサ
保守
N/A
登録
$5,000/proc
$8,800/プロセッサ
N/A
3年間のコスト
$60,000,000
$265,600
最終的なベンチマークの結果
BigDBMS の速度の 90% - BigDBMS のコストの 1/3
このテストでは、データベースに固有のDBAがベンチマークのために各
データベースを最適なレベルにチューニングしました。しかしPostgres
Plus Advanced Serverでは、DynaTuneTMにより導入後すぐにデータベー
スがほぼ最適にチューニングされているために、非常にわずかなパフォー
マンスチューニングのみで済みました。
以下の左側のグラフに示すように、データベースが完全にチューニング済
みである場合、EnterpriseDB は最も優秀な BigDBMS に対して約 90%の
TPM(Transactions Per Minute)を処理します。
さらに右側のグラフに示すように、Postgres Plus Advanced Server は、1
トランザクションあたりのドルコスト(価格/パフォーマンス)で
BigDBMS よりも格段に優れており、必要なコストは BigDBMS の 1/3 で
す。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
トランザクション/分
10
トランザクション/分
あたりのコスト
価格/パフォーマンスの計測:価格/パフォーマンスは、システムの総コスト(ハード
ウェアおよびソフトウェアと、3 年間の保守)を取得し、テスト実行中に計測された
1 分あたりの平均トランザクション数で総コストを除算することにより計測します。
この結果は、データベース環境の$/TPM(価格/パフォーマンス)であり、パフォーマ
ンスが業務処理のコストにどのように影響するかを示しています。
結果は劇的なものです。Postgres Plus Advanced ServerおよびBigDBMS
は、このテストではパフォーマンスはほぼ等しく、BigDBMSが約 9%高
速です。ただし、取得コストの差を考慮すると、Postgres Plus Advanced
Serverのコストは 1 トランザクションあたり$48.99 低くなります。この
差は、300%を超えます。
結論
エンタープライズのデータベースは、相対的なパフォーマンスベンチマー
クテストでその優れた性質を証明する必要があります。
エ ン タ ー プ ラ イ ズ デ ー タ ベ ー ス の オー プ ン ソ ー ス リ ー ダ ー と し て の
EnterpriseDBの熱意を表す基準の 1 つに、専門のPostgres Performance
Centerがあります。
EnterpriseDBは、PostgreSQLのパフォーマンスを 2 倍に高めた作業に貢
献し、さらにPostgres Plus Advanced Serverのパフォーマンスを強化す
る作業を継続しています。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com
EnterpriseDB エンジニアリング調査: パフォーマンスのベンチマーク
11
成熟したOLTPデータベース市場は混乱に陥る可能性を秘めており、その
中でPostgres Plus Advanced Serverは代替製品です。
この調査は、Postgres Plus Advanced Server が世界最高水準のパフォー
マンスと価格/パフォーマンスを併せ持つエンタープライズの OLTP 機能
と信頼性を提供することを示しています。
•
•
Postgres Plus Advanced Server と BigDBMS はほとんど等しいパ
フォーマンスを持ちます、
BigDBMS の 価 格 / パ フ ォ ー マ ン ス は 、 Postgres Plus Advanced
Server と比較して 300%を超える高コスト値になります。
また、DynaTune™のような高度な機能により総所有コスト(TCO)はさら
に減少します。BigDBMS は、既に高コストの環境に対して、適切に運用
費用およびコストを追加するようにデータベースをチューニングするため
にさらに長い時間と大きなリソースを必要とします。
注:このホワイトペーパーの調査結果は EnterpriseDB の調査に基づくも
ので、この調査でテストされたデータベースのパフォーマンスを最適化す
るためのあらゆる努力が行われました。ただしこの結果は、説明の目的で
のみ示されているもので、チューニングパラメータが異なる場合には調査
結果が異なることがあります。
© EnterpriseDB Corporation, 2008 All rights reserved.
EnterpriseDB および Postgres Plus は、EnterpriseDB Corporation の商標です。その他の名前は、該当する所有者の商標です。
http://www.enterprisedb.com