Running TPC-C (or YCSB) benchmark on KV-store

1.1k Views Asked by At

I just created a distributed key-value store (written in C++) for a grad research project, and need to test it with some standard db benchmarks. I would like to run the TPC-C and YCSB benchmarks on it. They key-value store provides ACID (transactional) semantics, but does not have a SQL interface. It supports two APIs : read() and write().

My question is the following: what is the quickest way to run TPC-C (or YCSB+T, or any other db benchmark) on my database? Do I create a SQL interface on top of my k-v store (not sure how easy/difficult this will be)? Or do I write the TPC-C queries in terms of reads/writes, from the TPC-C benchmark specification?

Is there a different way to do this, like modifying an existing tool that does most of the heavy lifting to work with my kv-store?

1

There are 1 best solutions below

0
On

Have a look at dbbench:

DBbench - Embedded Database Benchmark

This is a rewrite of Google LevelDB's dbbench tool in C, and ported to a wide variety of other embedded database engines. A framework has been created to minimize the amount of code that must be written for any particular DB engine. Adding support for a new engine just requires writing a small C wrapper providing DB open, close, read, and write routines, plus optional command line parameters as needed.