JDBC Driver for YCSB
This driver enables YCSB to work with databases accessible via the JDBC protocol.
Getting Started
1. Start your database
This driver will connect to databases that use the JDBC protocol, please refer to your databases documentation on information on how to install, configure and start your system.
2. Set up YCSB
You can clone the YCSB project and compile it to stay up to date with the latest changes. Or you can just download the latest release and unpack it. Either way, instructions for doing so can be found here: https://github.com/brianfrankcooper/YCSB.
3. Configure your database and table.
You can name your database what ever you want, you will need to provide the database name in the JDBC connection string.
You can name your table whatever you like also, but it needs to be specified using the YCSB core properties, the default is to just use 'usertable' as the table name.
The expected table schema will look similar to the following, syntactical differences may exist with your specific database:
CREATE TABLE usertable (
YCSB_KEY VARCHAR(255) PRIMARY KEY,
FIELD0 TEXT, FIELD1 TEXT,
FIELD2 TEXT, FIELD3 TEXT,
FIELD4 TEXT, FIELD5 TEXT,
FIELD6 TEXT, FIELD7 TEXT,
FIELD8 TEXT, FIELD9 TEXT
);
Key take aways:
- The primary key field needs to be named YCSB_KEY
- The other fields need to be prefixed with FIELD and count up starting from 1
- Add the same number of FIELDs as you specify in the YCSB core properties, default is 10.
- The type of the fields is not so important as long as they can accept strings of the length that you specify in the YCSB core properties, default is 100.
JdbcDBCreateTable Utility
YCSB has a utility to help create your SQL table. NOTE: It does not support all databases flavors, if it does not work for you, you will have to create your table manually with the schema given above. An example usage of the utility:
java -cp YCSB_HOME/jdbc-binding/lib/jdbc-binding-0.4.0.jar:mysql-connector-java-5.1.37-bin.jar com.yahoo.ycsb.db.JdbcDBCreateTable -P testworkload -P db.properties -n usertable
Hint: you need to include your Driver jar in the classpath as well as specify your loading options via a workload file, JDBC connection information, and a table name with -n
.
Simply executing the JdbcDBCreateTable class without any other parameters will print out usage information.