This repository contains a fork of the OLTPBenchmark framework made ready to benchmark Polypheny. Further, the build process is now performed using Gradle instead of ANT.
- Java 1.8 or later
To build this fork, use ./gradlew zipAll
. The archives of the OLTPBenchmark application can be found in build/distributions
. Extract the application on the machine of your choice, switch into the extracted folder, run ./bin/oltpbenchmark ...
and happy benchmarking.
Alternatively: Use
./gradlew runtime
to create the distribution folders inbuild/distributions
containing the application and the custom JRE image.
Please consult the documentation of the original repository on how to further use OLTPBenchmark: oltpbench/wiki.
- AuctionMark
./bin/oltpbenchmark -b auctionmark -c ./config/polypheny-db/auctionmark.xml --create=true --load=true --execute=true
- SmallBank
./bin/oltpbenchmark -b smallbank -c ./config/polypheny-db/smallbank.xml --create=true --load=true --execute=true
- TPC-C
./bin/oltpbenchmark -b tpcc -c ./config/polypheny-db/tpcc.xml --create=true --load=true --execute=true
- TPC-H
./bin/oltpbenchmark -b tpch -c ./config/polypheny-db/tpch.xml --create=true --load=true --execute=true
- YCSB
./bin/oltpbenchmark -b ycsb -c ./config/polypheny-db/ycsb.xml --create=true --load=true --execute=true
- SmallBank
./bin/oltpbenchmark -b smallbank -c ./config/polypheny-fram/smallbank.xml --create=true --load=true --execute=true
- TPC-C
./bin/oltpbenchmark -b tpcc -c ./config/polypheny-fram/tpcc.xml --create=true --load=true --execute=true
- YCSB
./bin/oltpbenchmark -b ycsb -c ./config/polypheny-fram/ycsb.xml --create=true --load=true --execute=true
This fork includes and uses binaries compiled from the sources of eyalroz/tpch-dbgen to generate the TPC-H data set (latest compiled commit: 23.12.2019).
Benchmarking is incredibly useful, yet endlessly painful. This benchmark suite is the result of a group of Phd/post-docs/professors getting together and combining their workloads/frameworks/experiences/efforts. We hope this will save other people's time, and will provide an extensible platform, that can be grown in an open-source fashion.
OLTPBenchmark is a multi-threaded load generator. The framework is designed to be able to produce variable rate, variable mixture load against any JDBC-enabled relational database. The framework also provides data collection features, e.g., per-transaction-type latency and throughput logs.
Together with the framework we provide the following OLTP/Web benchmarks:
- TPC-C
- Wikipedia
- Synthetic Resource Stresser
- Epinions.com
- TATP
- AuctionMark
- SEATS ("Stonebraker Electronic Airline Ticketing System")
- YCSB
- JPAB (Hibernate)
- CH-benCHmark
- Voter (Japanese "American Idol")
- SIBench (Snapshot Isolation)
- SmallBank
- LinkBench
This framework is design to allow easy extension, we provide stub code that a contributor can use to include a new benchmark, leveraging all the system features (logging, controlled speed, controlled mixture, etc.)
- Java (+1.8)
- Apache Ant
See the on-line documentation on how to use OLTP-Bench.
If you are using this framework for your papers or for your work, please cite the paper:
OLTP-Bench: An extensible testbed for benchmarking relational databases D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. In VLDB 2014.
Also, let us know so we can add you to our list of publications.