Skip to content

Latest commit

 

History

History

kudu

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

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.
  • kudu_partition_schema: The partition schema used to create table. It could be 'hashPartition' or 'rangePartition', the default is 'hashPartition'.

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 site.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.