Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a CH-benCHmark (HTAP) workload #123

Open
marcocitus opened this issue May 15, 2020 · 2 comments
Open

Add a CH-benCHmark (HTAP) workload #123

marcocitus opened this issue May 15, 2020 · 2 comments
Labels
enhancement New feature or request workload

Comments

@marcocitus
Copy link
Contributor

We often run HammerDB concurrently with the analytical queries from CH-benCHmark (mainly against PostgreSQL) by using a separate script.

Would there be interest in adding a CH workload directly to HammerDB? This involves running TPC-C transactions and TPC-H-like analytical queries concurrently on the same tables. We may be able to write and contribute a PostgreSQL implementation.

CH-benCHmark is also supported by some other benchmarking tools, e.g.: https://github.com/oltpbenchmark/oltpbench

@abondvt89
Copy link
Contributor

This is an interesting idea regarding adding it to HammerDB as a combo workload option. If you have an implementation that you would like to contribute for PostgreSQL that is not license restricted and meets the TPC Fair use guidelines (http://www.tpc.org/tpc_documents_current_versions/pdf/tpc_fair_use_quick_reference_v1.0.0.pdf) go ahead and submit a PR.

@sm-shaw
Copy link
Contributor

sm-shaw commented May 20, 2020

As discussed this is a great suggestion for inclusion in HammerDB. Before submitting a PR for PostgreSQL it would be good to discuss the design approach to make sure that it is as straightforward to implement as possible for multiple databases. If the CH workload is sufficiently different from both C and H it would be best to add it as a separate workload. This would involve adding additional parameters to the XML, options to the opt files eg pgopt.tcl and another workload releated script for build and driver such as pghtap.tcl. To do so would mean more generic work underneath but could pay off in the longer run. If it is very close to either C or H then it could be added as a checkbox option. With a checkbox option the approach is to try and keep the driver scripts as consistent as possible over time, therefore when we have changes such as 'use all warehouses' or 'time profile' they are added by inline editing of the driver script. (There are 3 templates test, timed and asynchronous timed) As these checkbox options increase it is important to ensure that they are all compatible in different combinations. The multiple labelled connections #101 also takes this editing approach. Therefore the first task is to determine how sufficiently different this workload is from C & H and whether a separate workload is best not to confuse people running HammerDB for the first time.

@sm-shaw sm-shaw added enhancement New feature or request workload labels Dec 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request workload
Projects
None yet
Development

No branches or pull requests

3 participants