{"id":22870922,"url":"https://github.com/percona-lab/tpce-mysql","last_synced_at":"2025-05-05T22:16:48.367Z","repository":{"id":45056713,"uuid":"108493040","full_name":"Percona-Lab/tpce-mysql","owner":"Percona-Lab","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-18T17:31:05.000Z","size":1309,"stargazers_count":20,"open_issues_count":2,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-05T22:16:42.544Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Percona-Lab.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-27T03:07:24.000Z","updated_at":"2025-01-01T16:27:18.000Z","dependencies_parsed_at":"2023-01-18T02:01:04.093Z","dependency_job_id":null,"html_url":"https://github.com/Percona-Lab/tpce-mysql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Percona-Lab%2Ftpce-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Percona-Lab%2Ftpce-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Percona-Lab%2Ftpce-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Percona-Lab%2Ftpce-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Percona-Lab","download_url":"https://codeload.github.com/Percona-Lab/tpce-mysql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252584333,"owners_count":21771945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T13:16:35.376Z","updated_at":"2025-05-05T22:16:48.345Z","avatar_url":"https://github.com/Percona-Lab.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n=============\nThis is a modified version based on the TPC-E version from Percona https://www.percona.com/blog/2010/02/08/introducing-tpce-like-workload-for-mysql/.\nThe package is based on the TPC-E workload described on http://www.tpc.org/tpce/default.asp\nand uses EGen software provided by TPC. \n\nIn this package SAP HANA Support was added to the TPC-E Percona version.\n\nInstallation\n============\nBefore you can build the tool you need to install following dependencies:\n- unixodbc driver (\u003e= 2.3.4)\n- ODBC driver for HANA (Linux) (Tested with 64 bit version of driver)\n- LLVM\n- CLANG\n\n\n\nInstall unixodbc from Source (\u003e= 2.3.4)\n------------------------------\nYou have to install unixodbc from source instead of using package manager installed on your system (e.g. homebrew), since the package \nhomebrew is providing is outdated and missing some crucial fixes introduced in 2.3.3.\n\n- Get source from http://www.unixodbc.org/ and untar it into an directory\n- Run `./configure` on your system\n- Run `make`\n- Run `make install` (sudo maybe required here to copy libraries into system path)\n\nCompile TPC-E\n--------------\n- Adjust the include path in the `makefile` in the directory `prj` to the directory with the unixodbc library / include files (if not located in the usual system directories) on your system\n- Execute the makefile by calling `make`\n\n\nUsage\n=====\nGenerate Test Data \n----------------------------------------\nFirst you have to generate Test Data using `EGenLoader` in the bin directory supplying the path to the `flat_in` and `flat_out` directory. You can adjust the generator by supplying additional arguments to control the size of the generated dataset. \n\n```\n./EGenLoader -i flat_in -o flat_out -c \u003cnumber_of_customers\u003e -t \u003cactive_customers\u003e -f \u003cnumber_of_customers_for_1TRTPS\u003e -w \u003cdays_of_trade\u003e\n```\n\nConcrete Example:\n```\n./EGenLoader -i flat_in -o flat_out -c 2000 -t 2000 -f 200 -w 50\n```\n\nAfter successfull generation of the benchmark data the generated data is located in the `flat_out` directory.\n\nPrepare Database for Loading of the Flat Files\n---------------------------------------------\nFirst you have to create the tbales for the TPC-E like benchmark by executing the SQL script `1_create_table.sql` located in the directory `scripts/\u003cyour_database\u003e`.\n\nLoad Flatfiles into SAP HANA with hdbsql\n----------------------------------------\n\nBefore you execute can import the generated flat files you have to generate the SQL import script in the directory `scripts/\u003cyour_database\u003e` (only SAP HANA). To generate the load script execute the python file `python 2_load_data.py \u003cpath_to_flat_files\u003e \u003cschema_name\u003e` supplying the path to the direcotry containing the flat files and the schema name.\n\nWe use the hdbsql command line tool supplied with the HANA ODBC driver to load the generated data into the SAP HANA database.\nWe load the flatfiles into the SAP HANA database by executing following command:\n```\n\u003cpath_to_hdbsql_executable\u003e/hdbsql -n \u003cIP_HANA_INSTANCE\u003e:3\u003cINSTANCE_ID\u003e15 -u \u003cUSERNAME\u003e -p \u003cPASSWORD\u003e -I \u003cPATH_TO_IMPORT_SCRIPT\u003e/hana_csv_import.sql -c ';'\n```\n\n**Please confirm that the User used for the import has the user rights to IMPORT / INSERT data into the SCHEMA/TABLE!**\n\nCreate Indicies / ... in Database\n-----------------------------------------\nAfter successfully importing the previously generated flat_files you have to execute the remaining SQL scripts (3,5) in ascending order.\n\n\nThe last required SQL Script has to be generated executing the python file `python 6_create_sequence.py \u003cpath_to_Trade.txt\u003e` supplying the path to the direcotry containing Trade.txt that has been generated by `./EGenLoader` as parameter.\n\n\nExecute TPC-E like Benchmark\n-----------------------------\nTo execute the Benchmark run the following command:\n```\n./EGenSimpleTest -c \u003cnumber_of_customers\u003e -a \u003cactive_customers\u003e -f \u003cnumber_of_customers_for_1TRTPS\u003e -d \u003cdays_of_trade\u003e -l \u003cnumber_of_customer_load_unit\u003e -e \u003cpath_to\u003e/flat_in -D \u003cname_of_data_source\u003e -U \u003cusername\u003e -P \u003cpassword\u003e -t \u003cduration\u003e -r \u003cramp_up\u003e -u \u003cnumber_of_users\u003e\n```\n\nExample\n```\n./EGenSimpleTest -c 2000 -a 2000 -f 200 -d 50 -l 200 -e ../flat_in -D hana -U \u003cuser\u003e -P \u003cpassword\u003e -t 30 -r 10 -u 2\n```\nUsage Example for Percona TPC-E like benchmark:\nhttps://www.percona.com/blog/2010/02/09/introducing-percona-patches-for-5-1/\n\n**The values `\u003cnumber_of_customers\u003e`,`\u003cactive_customers\u003e`,`\u003cnumber_of_customers_for_1TRTPS\u003e`,`\u003cdays_of_trade\u003e` have to be the same as used at the ./EGenLoader data generator !***\n\nLicense\n=======\nThis package based on tpc-e workload described  on http://www.tpc.org/tpce/default.asp\nand uses EGen software provided by TPC.\n\nThe package is fully compatible with\nTPC license\nhttp://www.tpc.org/tpce/egen/TPC-E%20License%20Agreement.pdf\n\nThe results you get with this package\ncan't be named \"TPC Benchmark Results\"\nand are not compatible or comparable with\nTPC-E Benchmark results \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpercona-lab%2Ftpce-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpercona-lab%2Ftpce-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpercona-lab%2Ftpce-mysql/lists"}