Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Java Python Other
#9 Compare This branch is 105 commits ahead, 248 commits behind brianfrankcooper:master.
Latest commit 217020 @joshwilliams joshwilliams Jonathan Ellis committed Remove int size limit on recordcount
Failed to load latest commit information.
accumulo Part 9: fixes #2 - Update Accumulo client
aerospike Part 11: fixes #2 - Update Aerospike client for Aerospike v3, and mod…
bin Allow classpath overrides, work around maven oddity
cassandra make CREATE copy-paste-able
core Remove int size limit on recordcount
couchbase-2.0 Bump client driver versions
distribution gh-66 reorganize directory structure
doc merge thumbtack
dynamodb Part 5: fixes #2 - Update DynamoDB client
fabric move Fabric stuff into its own subdirectory
hbase be less aggressive about thread counts, we will spin up plenty of cli…
jdbc Part 6: fixes #2 - Update JDBC client
memcached Bump client driver versions
mongodb Make "journaled" the default Mongo write concern
reports move reporting scripts into own subdirectory
workloads merge thumbtack
.gitignore Ignore fabric's .pyc files
.travis.yml [travis] initial commit on travis ci setup
BUILD gh-66 added more stuff in BUILD. added db links in ycsb.
CHANGELOG merge thumbtack
IMPROVEMENTS.txt merge thumbtack
LICENSE.txt Initial commit of YCSB.
NOTICE.txt Initial commit of YCSB. mention Fabric merge thumbtack
checkstyle.xml gh-67 use checkstyle.
pom.xml Merge MongoDB changes from achille/master

Yahoo! Cloud System Benchmark (YCSB)

A note on comparing multiple systems

NoSQL systems have widely varying defaults for trading off write durability vs performance. Make sure that you are comparing apples to apples across all candidates. The most useful common denominator is synchronously durable writes. The following YCSB clients have been verified to perform synchronously durable writes by default:

  • Couchbase
  • HBase
  • MongoDB

Cassandra requires a configuration change in conf/cassandra.yaml. Uncomment these lines:

# commitlog_sync: batch
# commitlog_sync_batch_window_in_ms: 50


Getting Started

  1. Download the latest release of YCSB:

    tar xfvz ycsb-0.1.4
    cd ycsb-0.1.4
  2. Set up a database to benchmark. There is a README file under each binding directory.

  3. Run YCSB command.

    bin/ycsb load basic -P workloads/workloada
    bin/ycsb run basic -P workloads/workloada

    Running the ycsb command without any argument will print the usage.

    See for a detailed documentation on how to run a workload.

    See for the list of available workload properties.

    Alternatively, see fabric/README for Thumbtack's work on parallelizing YCSB clients using Fabric.

Something went wrong with that request. Please try again.