みなさんこんにちは!アイスタイル DBAのsugatです。
前回、春のDBベンチマーク祭り と勝手に称して、TPC-C(OLTP系のベンチマーク)をMySQL、MariaDB、PostgreSQLの3つのRDBMSで測定した結果をお送りしました。
でも、世の中のDBはOLTPだけの用途にとどまりません。
ということで、今回はTPC-H(DWH系のベンチマーク)も取ってみたよ!というお話です。
実行環境おさらい
実行環境については、前回同様です。
○ホストマシンのスペックはこちら
・CPU:Core i7-7700K 4.20GHz(8CPUs)
・メモリ:ddr4-2400 32GB
・SSD:WDC WDS500G2B0A
・GPU:GeForce GTX 1070
○VMのスペックはこちら
・CPU:4core
・メモリ:8GB
・SSD:64GB
○各RDBのバージョン
・PostgreSQL 10.3
・MySQL 5.7.22
・MariaDB 10.2.14
レギュレーション
レギュレーションについても、前回とほぼ同様です。
- ベンチマークにはHammerDBを使用する
- 取得するベンチマークはtpc-hを採用する
- HammerDB実行時に起動するVMは1つのみとし、他のアプリケーションは一切動かさない
- 各DBで変更するパラメータはメモリ関連のもののみ
結果発表!
第1位 PostgreSQL( 最大5,700qph )
第2位 MariaDB( 最大360qph )
第2位 MySQL( 最大360qph )
まとめ
今回、なぜこのような検証をしたかったのか?というのを少しお話しますと、私もまだまだDBAとしては駆け出しの人間ですが、いろいろなところから噂話というか、口伝のように「更新系は○○、参照系は□□のRDBが良い」みたいな話を耳にすることが多くって、「本当にそうなのかな?」という実情が気になったのでやってみた、という経緯があります。
もしかしたら、ちゃんとした機関がちゃんとしたルールに則って測定した場合は、また違った結果になるのかもしれないけれど、一般庶民が触れられるスペックで利用するレベルだとこんな感じなんだなー、というのが伝わると良いな、と思います。
これからもどんどん「やってみた」系は挑戦してここの記事として挙げていきますので、電車の中での時間つぶしの読み物程度に見ていただければ幸いです。