OmniSciDB
a5dc49c757
|
ruby
and the rake
gem.heavysql
client that connects to a running HeavyDB server with option --allowed-import-paths
which whitelists the path to the Rakefile
.psql
client that connects to a running PostgreSQL server that is able to run admin commands via psql -U postgres
. Alternatively, if the 99 TPC-DS output files query*-pg.txt
exist in the output directory, which can be imported from a separate run, then psql
won't be needed when run with the SKIP_PG=1
option (see below).Like a Makefile, a Rakefile is simply a collection of tasks that are dependent upon one another. Running benchmarks includes a number of interdependent steps, such as
If something goes wrong, it is too time-consuming to redo everything if this were performed by one monolithic script. Instead, a Rakefile compartmentalizes these steps, and skips steps that were already completed, much as a Makefile does.
Rakefile
and TPC-DS_Tools_v3.2.0.zip
in the current directory.rake tpcds:compare HEAVYSQL="/path/to/bin/heavysql -u username -p password"
with correct path, username and password. Similarly, you may also set SCALE
and RNGSEED
.query*-pg.txt
are already present in the output directory (see next step), and compressed lz4 tables generated from a previous DUMP
command were created, then you may skip running the PostgreSQL queries entirely by appending SKIP_PG=1
to the above rake
command.TPC-DS_Tools_v3.2.0_1GB
. For each query, 4 files are generated, in additional to a final report.html
file gathering all results together. Taking query 1 as an example:{"success":true,"message":"100 rows in 1188.0 ms.","nrows":100,"time_ms":1188.0}
See the top of the Rakefile
for additional environment variables that may be set. In particular:
SCALE
— The scale/size of the database in gigabytes. Default: 1.RNGSEED
— The random number generator seed for random values placed in the queries.SKIP_PG
— Set to any non-blank value to skip PostgreSQL queries. Requires all of the the 99 query*-pg.txt
files to already exist in the output directory.