-
Notifications
You must be signed in to change notification settings - Fork 3
Hyrise Things
This Guide explains how to install a Hyrise, build the Tables and plugins needed for the Cockpit. The tables are needed to run the benchmarks (TPCC, TPCH, ...).
- Clone the repository:
git clone --recursive https://github.com/hyrise/hyrise.git
- Enter the Hyrise directory:
cd hyrise
- Checkout the right branch:
git checkout bp1920
First you need to install all dependencies and setup the makefiles:
- Let the install script handle Hyrise's dependencies:
./install_dependencies.sh
- Create the build directory: mkdir cmake-build-release && cd cmake-build-release
- Generate Makefiles:
cmake ..
- Build the Hyrise Executables:
make hyriseServer hyriseBenchmarkTPCH hyriseBenchmarkTPCDS hyriseBenchmarkJoinOrder hyriseBenchmarkTPCC hyriseConsole -j [#Threads]
- Leave the build directory:
cd ..
If you have problems installing the hyrise try to reduce the number of threads.
You can simply pull a docker image with a hyrise and all needed tables and plugins inside. The dockerfiles builds automated the tables and plugins the exact way like described in the following parts of this guide. For more detailed information please refer to https://github.com/hyrise/Cockpit/wiki/Docker-Setup#build-the-hyrise-image .
To run the Cockpit you need to have the tables that are relevant for the benchmark at the machine where the Hyrise is running under the location /usr/local/hyrise/cached_tables
. If the Cockpit tells the hyrise to load the data for a benchmark it will look in this directory. The supported benchmarks at the moment are:
- TPCH SF 0.1
- TPCH SF 1
- TPCDS SF 1
- TPCC SF 1
- TPCC SF 5
- JOB SF 1
You need to execute the following commands on the machine where the hyrise is running:
- Create the directory:
mkdir -p /usr/local/hyrise/cached_tables
- Enter hyrise root dir:
path_to_hyrise_dir/hyrise
- Build TPCH binarie tables:
./cmake-build-release/hyriseBenchmarkTPCH --scale 1 --runs 0 && ./cmake-build-release/hyriseBenchmarkTPCH --scale 0.1 --runs 0
- Build TPCDS binarie tables:
./cmake-build-release/hyriseBenchmarkTPCDS --scale 1 --runs 0
- Build JoinOrder binarie tables:
./cmake-build-release/hyriseBenchmarkJoinOrder --runs 0
(This could take a while) - Remove not needed tables from JOB
cd imdb_data && rm -r *.csv && rm -r *.csv.json && cd ..
- Move binarie tables to final directory:
mv tpch_cached_tables/sf-1.000000 /usr/local/hyrise/cached_tables/tpch_1 \
&& mv tpch_cached_tables/sf-0.100000 /usr/local/hyrise/cached_tables/tpch_0_1 \
&& mv tpcds_cached_tables/sf-1 /usr/local/hyrise/cached_tables/tpcds_1 \
&& mv imdb_data /usr/local/hyrise/cached_tables/job_1
To build the TPCC tables you need to use the hyriseConsole. in the same folder where the hyriseConsole is you need to create two sql files. You can find these files in the Cockpit repository under Cockpit/hyrise
. You need to copy these files (tpcc_table_generation_sf_1.sql, tpcc_table_generation_sf_5.sql) in the folder where the hyriseConsole
executable lies path_to_hyrise_dir/hyrise/cmake-build-release
. Then run:
- Enter hyrise release dir:
path_to_hyrise_dir/hyrise/cmake-build-release
- Build TPCC binaries:
./hyriseConsole tpcc_table_generation_sf_1.sql && ./hyriseConsole tpcc_table_generation_sf_5.sql
Now you should have the files in /usr/local/hyrise/cached_tables
.
Please make sure the /usr/local/hyrise/cached_tables
directory exists before building the TPCC tables
The Plugin need to be in the location /usr/local/hyrise/lib/
on the same machine where the hyrise is running. To build the plugins please run:
- Enter hyrise release dir:
path_to_hyrise_dir/hyrise/cmake-build-release
- Build Plugins:
make CompressionPlugin ClusteringPlugin IndexSelectionPlugin
- Copy Plugins to the right location:
cp lib/libClusteringPlugin.so lib/libCompressionPlugin.so lib/libIndexSelectionPlugin.so /usr/local/hyrise/lib/