Skip to content

Step by Step Guide

mrks edited this page May 11, 2020 · 20 revisions

This short tutorial explains how to get, setup, and run Hyrise. Please refer to our readme for specific build/compiler options.

Get the Hyrise source code

  1. Clone the repository: git clone --recursive git@github.com:hyrise/hyrise.git
  2. Enter the Hyrise directory: cd hyrise

Install the dependencies and prepare the build

  1. Let the install script handle Hyrise's dependencies: ./install_dependencies.sh
  2. Create the build directory: mkdir cmake-build-debug && cd cmake-build-debug
  3. Generate Makefiles: cmake ..
  4. Build the Hyrise Console: make hyriseConsole -j [#Threads]
  5. Leave the build directory: cd ..

In case you are using an unsupported system and are seeing compiler errors, you can turn off the extraordinarily strict compiler flags by passing -DHYRISE_RELAXED_BUILD=On to cmake.

Run Hyrise

  1. Start the console: ./cmake-build-debug/hyriseConsole
  2. Get instructions: help
  3. Generate TPC-H tables: generate_tpch 0.1 (where 0.1 corresponds to roughly 100MB of data being generated)
  4. Execute test statement: SELECT * FROM nation;
  5. Execute TPC-H statements (e.g. TPC-H 5):
SELECT n_name, SUM(l_extendedprice * (1.0 - l_discount)) as revenue FROM
customer, orders, lineitem, supplier, nation, region WHERE c_custkey =
o_custkey AND l_orderkey = o_orderkey AND l_suppkey = s_suppkey AND
c_nationkey = s_nationkey AND s_nationkey = n_nationkey AND n_regionkey
= r_regionkey AND r_name = 'ASIA' AND o_orderdate >= '1994-01-01' AND
o_orderdate < '1995-01-01' GROUP BY n_name ORDER BY revenue DESC;
  1. Experiment with our visualization (graphviz needed): visualize [QUERY]

Please refer to the console's help function, our readme or wiki for further information.

Run the TPC-H benchmark

  1. Simply execute hyriseBenchmarkTPCH in your build folder. If you have built Hyrise in a debug mode, you will receive a warning telling you that the numbers are not representative for the actual performance.
  2. To change parameters such as the scale factor or the default execution time, have a look at hyriseBenchmarkTPCH --help.

More details and some limitations can be found here.