db-benchmark

command module
v0.0.0-...-3e974fb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2017 License: MIT Imports: 18 Imported by: 0

README

DB Benchmark

DB Benchmark is a framework to benchmark database performance with Go.

Notices

I've made my best effort to write queries as idiomatically and realistically as possible. If you feel like that are issues with the queries used please don't hesitate to post a issue or pull request.

Here are some things to take note of with these database configurations:

  • MySQL is running with default settings out of the box.
  • RethinkDB is running with default settings out of the box.
  • RethinkDB writes queries are performed with soft durability.
  • 80 connections are used in the connection pools for both databases.

Disclaimer

Note that purely the drivers of each database would have a significant effect on the results, as the difference between MySQL and RethinkDB are fractions of milliseconds per query. This benchmark is could be more reflective of Go driver performance rather than actual database performance.

I am in no way qualified to benchmark databases and draw conclusions from these results. This was really just an experiment and for fun. Please make your own judgements before deciding on the database appropriate for you, performance isn't everything. Remember that this benchmark does not take into account of different features, consistency, scalability and durability.

Results

results.txt

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package badger contains a badger benchmark wrapper implementation through the pure Go badger key-value store at: github.com/dgraph-io/badger
Package badger contains a badger benchmark wrapper implementation through the pure Go badger key-value store at: github.com/dgraph-io/badger
Package bolt contains a bolt benchmark wrapper implementation through the use of the bolt embedded database at github.com/boltdb/bolt
Package bolt contains a bolt benchmark wrapper implementation through the use of the bolt embedded database at github.com/boltdb/bolt
Package bolthold contains a bolthold benchmark wrapper implementation.
Package bolthold contains a bolthold benchmark wrapper implementation.
Package buntdb contains a buntdb benchmark wrapper implementation through the use of the pure Go buntdb implementation at github.com/tidwall/buntdb
Package buntdb contains a buntdb benchmark wrapper implementation through the use of the pure Go buntdb implementation at github.com/tidwall/buntdb
Package cete contains a cete benchmark wrapper implementation.
Package cete contains a cete benchmark wrapper implementation.
Package leveldb contains a leveldb benchmark wrapper implementation through the use of the pure Go leveldb implementation at github.com/syndtr/goleveldb/leveldb
Package leveldb contains a leveldb benchmark wrapper implementation through the use of the pure Go leveldb implementation at github.com/syndtr/goleveldb/leveldb
Package memory contains a in-memory benchmark wrapper implementation through the use of Go's maps.
Package memory contains a in-memory benchmark wrapper implementation through the use of Go's maps.
Package psqlwrapper contains a benchmark wrapper for PostgreSQL based databases.
Package psqlwrapper contains a benchmark wrapper for PostgreSQL based databases.
Package rethinkdb contains a benchmark wrapper for RethinkDB.
Package rethinkdb contains a benchmark wrapper for RethinkDB.
Package sqlwrapper contains a benchmark wrapper for SQL based databases.
Package sqlwrapper contains a benchmark wrapper for SQL based databases.
Package storm contains a storm benchmark wrapper implementation.
Package storm contains a storm benchmark wrapper implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL