Skip to content

Latest commit

 

History

History
 
 

voltdb

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

YCSB for VoltDB

VoltDB Logo

README

This README describes how to run YCSB on VoltDB.

Here at VoltDB we use 4 machines for testing - 1 client and a 3 node cluster.

1. Install Java on all the machines involved.

VoltDB uses Java. Either Oracle Java or OpenJDK will work.

3. Install and configure VoltDB

If you don't already have a copy of VoltDB you should download and install it. Make sure you know the hostnames/ip addresses of all the nodes in the cluster and that port 21212 is open for your client.

A representative VoltDB cluster would have 3 nodes and a 'K factor' of 1. This configuration allows work to continue if a server dies.

Note: If you contact us we can give you access to AWS Cloudformation scripts and a matching AMI to create a cluster for you.

4. Install YCSB

Download the latest YCSB file. Follow the instructions.

5. Configure VoltDB parameters

Create a file called (for example) voltdb.properties:

recordcount=10000000
operationcount=10000000
voltdb.servers=localhost
threadcount=1
maxexecutiontime=300

Other possible entries would be:

  • voltdb.user
    • Username. Only needed if username/passwords enabled.
  • voltdb.password
    • Password. Only needed if username/passwords enabled.
  • voltdb.ratelimit
    • Maximum number of transactions allowed per second per 50 threads - e.g. 'voltdb.ratelimit=70000'. Note that as you increase the workload you eventually get to a point where throwing more and more transactions at a given configuration is counterproductive. For the three node configuration we mentioned above 70000 would be a good starting point for this value.
  • voltdb.scanall
    • When set to 'yes' uses a single query to return data for 'Scan' operations ('workload e') instead of a separate query per partition. The later is much more scalable but generates more network traffic.

6. Run YCSB

See: Running a Workload

Make sure you keep an eye on the voltdb GUI. If you installed VoltDB on the same computer you are running YCSB on it will be at:

http://localhost:8080/

First load the data:

bin/ycsb.sh load voltdb -P workloads/workloada -P voltdb.properties 

Then run the different workloads - 'a' through 'e':

 bin/ycsb.sh run voltdb -P workloads/workloada -P voltdb.properties 
 bin/ycsb.sh run voltdb -P workloads/workloadb -P voltdb.properties 
 bin/ycsb.sh run voltdb -P workloads/workloadc -P voltdb.properties 
 bin/ycsb.sh run voltdb -P workloads/workloadd -P voltdb.properties 
 bin/ycsb.sh run voltdb -P workloads/workloade -P voltdb.properties