Database Access see history edit this page

Talks about: <a class="post-tag post-tag-access" href="/tags/access">access</a>, and <a class="post-tag post-tag-database" href="/tags/database">database</a>

The following benchmarks try to use the fastest code paths available to execute SQL statements.

Common Scenarios

The common scenarios define what each persistence solution must solve in order to pass the TCK. All benchmarks run through the following benchmarks:

Reading Data

Writing Data

Calling Stored Procedures

YoSQL Implementations

In order to select the best matching persistence API for your project, performance might be taken into consideration. In general, we recommend to use whatever persistence API is already used in your project in order to minimize the number of dependencies.

JDBC

In order to run JDBC benchmarks of YoSQL run:

# run JDBC benchmarks
$ mvn --projects yosql-benchmarks/yosql-benchmarks-dao --also-make --activate-profiles benchmarks verify

The results are measured in microseconds. All available logging implementation are tested with their maximal output configuration in order to gauge how much overhead each implementation causes on top of the no-op implementation without any logging statements.

Other Solutions

In order to compare a solution entirely based on YoSQL against other persistence solutions, the following set of benchmarks was created. None of them use Yosql and solely use own native persistence API itself.

EBean

In order to run benchmarks against EBean run:

# run EBean benchmarks
$ mvn --projects yosql-benchmarks/yosql-benchmarks-vs-ebean --also-make --activate-profiles benchmarks verify

JDBI

In order to run benchmarks against JDBI implementation run:

# run JDBI benchmarks
$ mvn --projects yosql-benchmarks/yosql-benchmarks-vs-jdbi --also-make --activate-profiles benchmarks verify

jOOQ

In order to run benchmarks against jOOQ implementation run:

# run jOOQ benchmarks
$ mvn --projects yosql-benchmarks/yosql-benchmarks-vs-jooq --also-make --activate-profiles benchmarks verify

JPA

In order to run benchmarks against JPA implementation run:

# run JPA benchmarks
$ mvn --projects yosql-benchmarks/yosql-benchmarks-vs-jpa --also-make --activate-profiles benchmarks verify