YCSB/kudu
Sean Busbey af424b083d [version] update master branch to 0.14 2017-09-21 21:00:41 -05:00
..
src/main [core] Fixing squid:S1319 - Declarations should use Java collection interfaces such as "List" rather than specific implementation classes such as "LinkedList". 2017-08-05 15:26:42 -07:00
README.md [kudu] Update bindings (#879) 2016-12-02 12:58:33 -06:00
pom.xml [version] update master branch to 0.14 2017-09-21 21:00:41 -05:00

README.md

Kudu bindings for YCSB

Apache Kudu is a storage engine that enables fast analytics on fast data.

Benchmarking Kudu

Use the following command line to load the initial data into an existing Kudu cluster with default configurations.

bin/ycsb load kudu -P workloads/workloada

Additional configurations:

  • kudu_master_addresses: The master's address. The default configuration expects a master on localhost.
  • kudu_pre_split_num_tablets: The number of tablets (or partitions) to create for the table. The default uses 4 tablets. A good rule of thumb is to use 5 per tablet server.
  • kudu_table_num_replicas: The number of replicas that each tablet will have. The default is 3. Should only be configured to use 1 instead, for single node tests.
  • kudu_sync_ops: If the client should wait after every write operation. The default is true.
  • kudu_block_size: The data block size used to configure columns. The default is 4096 bytes.

Then, you can run the workload:

bin/ycsb run kudu -P workloads/workloada

Using a previous client version

If you wish to use a different Kudu client version than the one shipped with YCSB, you can specify on the command line with -Dkudu.version=x. For example:

mvn -pl com.yahoo.ycsb:kudu-binding -am package -DskipTests -Dkudu.version=1.0.1

Note that only versions since 1.0 are supported, since Kudu did not guarantee wire or API compatibility prior to 1.0.