Giter Site home page Giter Site logo

tpc-h's Introduction

########################################################################################
TPC-H benchmark scripts for Greenplum and PostgreSQL databases.
########################################################################################
Supported versions:
Greenplum 4.3, 5.*, 6.*
Open Source Greenplum 5.*, 6.*
Beta: PostgreSQL 10.*

########################################################################################
TPC-H Information
########################################################################################
Based on version 2.17.1 of TPC-H.

########################################################################################
Query Options
########################################################################################
You can have the queries execute with "EXPLAIN ANALYZE" in order to see exactly the 
query plan used, the cost, the memory used, etc.  This is done in tpch_variables.sh
like this:
EXPLAIN_ANALYZE="true"

Note: The EXPLAIN ANALYZE option is only available when using the standard TPC-H 
queries.

########################################################################################
Storage Options
########################################################################################
Table storage is defined in functions.sh and is configured for optimal performance. 

########################################################################################
Prerequisites
########################################################################################
1. Supported Database installed and running
2. Connectivity is possible to the MASTER_HOST and from the Data Nodes / Segment Hosts
3. Root access

########################################################################################
Installation
########################################################################################
1. ssh to the master host with root
ssh root@mdw

2. Download the tpch.sh file
curl https://raw.githubusercontent.com/pivotalguru/TPC-H/master/tpch.sh > tpch.sh
chmod 755 tpch.sh

########################################################################################
Variables and Configuration
########################################################################################
By default, the installation will create the scripts in /pivotalguru/TPC-H on the 
Master host.  Variables can be changed by editing the dynamically configured 
/root/tpch_variables.sh file that is created the first time tpch.sh is run.  

Also by default, TPC-H files are generated on each Segment Host / Data Node in the 
Segement's PGDATA/pivotalguru directory.  If there isn't enough space in this directory
in each Segment, you can create a symbolic link to a drive location that does have 
enough space.

########################################################################################
Execution
########################################################################################
1. Execute tpch.sh
./tpch.sh

########################################################################################
Notes
########################################################################################
- tpch_variables.sh file will be created with variables you can adjust
- Files for the benchmark will be created in a sub-directory named pivotalguru located 
in each segment directory on each segment host / data node.
You can update these directories to be symbolic links to better utilize the disk 
volumes you have available.
- Example of running tpch as root as a background process:
nohup ./tpch.sh > tpch.log 2>&1 < tpch.log &

########################################################################################
TPC-H Minor Modifications
########################################################################################
1. Query alternative 15 was used in favor of the original so it is easier to parse in
these scripts.  Performance is essentially the same for both versions.
2. Query 1 documentation doesn't match query provided by TPC.  Range is supposed to be
dynamically set between 60 and 120 days and substitution doesn't seem to be working
with qgen.  So, hard code 90 days until this can be fixed by TPC.

tpc-h's People

Contributors

runningjon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tpc-h's Issues

Intranet machines do not need to check for the latest version of the code

If the Intranet machine server is not networked, the test cannot be performed。Intranet machines do not need to check for the latest version of the code

Modify the code at the end of the tpch.sh

for j in $(curl google.com 2>&1 | grep "Couldn't resolve host"); do
	internet_down="1"
done

if [ "$internet_down" -eq "0" ]; then
	yum_installs
	repo_init
	script_check
else
   echo "############################################################################"
   echo	"Couldn't resolve host,The local code is not checked for the latest version."
   echo "############################################################################"
   echo ""
fi

Update documentation - GUCs reconfigured at runtime

Hi

Can we please either update the documentation and/or add more verbosity to the script along the lines that this script will turn on PQO (and make it the default optimiser) in case it's switched off on a GP database cluster.

Currently, the script enables PQO at the start of the run but leaves it set as the default optimiser once it's done. PQO is not the default optimiser for previous versions of GP (Example - 4.3.10).

Ideally, it would be good that the script switches off the PQO at the end of the run in case it (the script) turned it (PQO) on at runtime.

The script is great and I used it to collect TPC-H benchmarks before we migrate to new GP environment! Thanks.

-Amanjeet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.