Skip to content

1.14

Compare
Choose a tag to compare
@shaharuk-yb shaharuk-yb released this 23 Jul 12:46
· 27 commits to main since this release

Prerequisites

  • JDK17 or higher
  • maven 3.6 or higher
  • Git recent version

Quickstart (release build)

wget https://github.com/yugabyte/benchbase/releases/download/1.14/benchbase-yugabyte.tgz

This will download benchbase-yugabyte.tgz, which can be extracted,

tar xvzf benchbase-yugabyte.tgz
cd benchbase-yugabyte

Inside this folder, you can run Featurebench with your YAML. For example, to execute a microbenchmark,

java -jar benchbase.jar -b featurebench -c config/yugabyte/sample_featurebench_config.yaml --create=true --load=true --execute=true

Quickstart (source code)

To clone and build BenchBase using the yugabyte profile,

git clone --depth 1 https://github.com/yugabyte/benchbase.git
cd benchbase
./mvnw clean package -P yugabyte -DskipTests
# you can also use ./build.sh 

This produces artifacts in the target folder, which can be extracted,

cd target
tar xvzf benchbase-yugabyte.tgz
cd benchbase-yugbayte

Inside this folder, you can run Featurebench with your YAML. For example, to execute a microbenchmark,

java -jar benchbase.jar -b featurebench -c config/yugabyte/sample_featurebench_config.yaml --create=true --load=true --execute=true

Perf Dataloader

Used to infer the table schema from the database and generate a benchbase interpreted input yaml file which can be used to load sample data into the table.

This tool is integrated inside benchbase so that the users don't have to install additional tools for using it. All existing functionalities from yugabyte/benchbase should work as it is.

How to use:

#$./perf-data-loader --help
Usage: ./perf-data-loader --config <config_file> --table-name <table_name> --rows <rows> [--gen-config-only] [--load-only]
Short forms: -c <config_file> -t <table_name> -r <rows>
Options:
  -c, --config                Configuration file
  -t, --table-name            Table name
  -r, --rows                  Number of rows
  --gen-config-only           Only generate the loader/config file
  --load-only                 Only load data into the database
  -h, --help                  Display this help message
  • to only generate the loader file(skip the actual load). This will generate the yaml file _loader.yaml which can be used in loading the data.
./perf-data-loader --config <config_file> --table-name <table_name> --rows <rows> --gen-config-only
  • to only load the data(when your loader file is already generate)
./perf-data-loader --config <config_file> --load-only
  • to generate the loader yaml file and load the data in one go
./perf-data-loader --config <config_file> --table-name <table_name> --rows <rows>

the input yaml file should have following content

type: YUGABYTE
driver: com.yugabyte.Driver
url: jdbc:yugabytedb://localhost:5433/yugabyte?sslmode=require&reWriteBatchedInserts=true
username: yugabyte
password: password

tablename: {{tableName}}
rows: {{rows}}

Caveat/In-progress items for perf-data-loader

  • partitioned tables are not yet supported.
  • columns with user defined data types are not yet supported.

Reference utility functions