😀
DBパフォーマンス
はじめに
NoSQLを含むDBMS(Database Management System)のパフォーマンスについて調べたメモ書き。
性能指標
- QPS : Queries Per Second
- NOPM : New Order Per Minute
- TPC-Cのシナリオにおける新規オーダー(注文)数/分
- おおよそ「NOPM * 3 = TPM」
- 単位時間当たりのトランザクション
- TPS : Transactions Per Second
- TPM : Transactions Per Minute
- REsponse Time
パフォーマンス仕様とツール
YCSB
Yahoo! Cloud Serving Benchmark (YCSB) はNoSQL向けのベンチマークツール。
YCSBは、米Yahoo!の研究開発部部門 Yahoo! Research が開発し、オープンソースで公開されているNoSQLデータベースを対象としたベンチマークツールです。異なる種類のNoSQLデータベースに対して共通的な負荷シナリオとフレームワークの提供を目的として開発されています。負荷シナリオに関しては自分で定義することも可能ですが、5種類のシナリオが事前に定義されています。
TPC-H
TPC-HはRDBMS向けのベンチマーク仕様。仕様を実装したツールとしては、DBT-3がある。
TPC-HはRDBMSベンチマーク仕様の一つで、意思決定支援システム(DSS)としての性能を測定するものです。大規模なデータを対象にアドホックなクエリを実行します。クエリは全部で22種類定義されています。
SLOB
- 対応RDBMS:
- ライセンス:
- 測定指標:
- サイト: https://flashdba.com/slob/
- 利用手順: Oracle用I/OワークロードツールのSLOBを使ってみる
sysbench
- 対応RDBMS: Postgres, MySQL
- ライセンス:
- 測定指標:
- サイト: https://github.com/akopytov/sysbench
pgbench
- 対応RDBMS:
- ライセンス:
- 測定指標:
tpcc-mysql
- 対応RDBMS:
- ライセンス:
- 測定指標:
参考文献
- RABL, Tilmann, et al. Solving big data challenges for enterprise application performance management. Proceedings of the VLDB Endowment, 2012, 5.12: 1724-1735.
- RDBMSとNoSQLの両方を含むDBMSのパフォーマンス(スループット、レイテンシ)の比較。
- YCSBをベースに独自に作ったパフォーマンス仕様に基づく比較。RDBMSには不利な気が。
- COOPER, Brian F., et al. Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM symposium on Cloud computing. ACM, 2010. p. 143-154.
- YCSBを提案した論文。被引用件数2,000件以上。
-
TPC Benchmark Results - Spreadsheet of TPC Results
- 各メーカがTPCに登録したパフォーマンス計測値。
- 登録されているRDBMSやOSに激しい偏りがあり、比較困難。
Discussion