{"id":19426511,"url":"https://github.com/beuth-erdelt/dbms-benchmarker","last_synced_at":"2026-03-01T12:07:01.641Z","repository":{"id":37099957,"uuid":"213186578","full_name":"Beuth-Erdelt/DBMS-Benchmarker","owner":"Beuth-Erdelt","description":"DBMS-Benchmarker is a Python-based application-level blackbox benchmark tool for Database Management Systems (DBMS). It connects to a given list of DBMS (via JDBC) and runs a given list of parametrized and randomized (SQL) benchmark queries. Evaluations are available via a Python interface and on an interactive multi-dimensional dashboard.","archived":false,"fork":false,"pushed_at":"2026-02-25T10:36:21.000Z","size":14421,"stargazers_count":14,"open_issues_count":20,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-25T14:57:16.431Z","etag":null,"topics":["agplv3","benchmarking","dbms","jdbc","python","sql"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Beuth-Erdelt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-06T14:48:36.000Z","updated_at":"2025-12-16T12:59:11.000Z","dependencies_parsed_at":"2026-01-11T01:00:31.025Z","dependency_job_id":null,"html_url":"https://github.com/Beuth-Erdelt/DBMS-Benchmarker","commit_stats":{"total_commits":383,"total_committers":6,"mean_commits":"63.833333333333336","dds":0.06527415143603132,"last_synced_commit":"95003576b4511135d13999a931b5fd85bf6c811a"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/Beuth-Erdelt/DBMS-Benchmarker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Beuth-Erdelt%2FDBMS-Benchmarker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Beuth-Erdelt%2FDBMS-Benchmarker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Beuth-Erdelt%2FDBMS-Benchmarker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Beuth-Erdelt%2FDBMS-Benchmarker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Beuth-Erdelt","download_url":"https://codeload.github.com/Beuth-Erdelt/DBMS-Benchmarker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Beuth-Erdelt%2FDBMS-Benchmarker/sbom","scorecard":{"id":21599,"data":{"date":"2025-08-11","repo":{"name":"github.com/Beuth-Erdelt/DBMS-Benchmarker","commit":"8619fbc07fcf9f8cc06f8e346d454316e78e7bfc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/20 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/draft-pdf.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-to-test-pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/rebuild_docs.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/draft-pdf.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/draft-pdf.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/draft-pdf.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/draft-pdf.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/draft-pdf.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/draft-pdf.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/publish-to-test-pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/publish-to-test-pypi.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/publish-to-test-pypi.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-to-test-pypi.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/Beuth-Erdelt/DBMS-Benchmarker/publish-to-test-pypi.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-to-test-pypi.yml:33","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish-to-test-pypi.yml:20"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"18 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-48p4-8xcf-vxj5","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2020-29 / GHSA-5v8v-66v8-mwm7","Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: GHSA-547x-748v-vp6p","Warn: Project is vulnerable to: GHSA-656c-6cxf-hvcv","Warn: Project is vulnerable to: PYSEC-2022-42991 / GHSA-v3c5-jqr6-7qm8","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114","Warn: Project is vulnerable to: GHSA-g7vv-2v7x-gj9p"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-14T16:53:40.168Z","repository_id":37099957,"created_at":"2025-08-14T16:53:40.168Z","updated_at":"2025-08-14T16:53:40.168Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29969243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T11:43:06.159Z","status":"ssl_error","status_checked_at":"2026-03-01T11:43:03.887Z","response_time":124,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["agplv3","benchmarking","dbms","jdbc","python","sql"],"created_at":"2024-11-10T14:07:49.628Z","updated_at":"2026-03-01T12:07:01.624Z","avatar_url":"https://github.com/Beuth-Erdelt.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Beuth-Erdelt/DBMS-Benchmarker/graphs/commit-activity)\n[![GitHub release](https://img.shields.io/github/release/Beuth-Erdelt/DBMS-Benchmarker.svg)](https://GitHub.com/Beuth-Erdelt/DBMS-Benchmarker/releases/)\n[![PyPI version](https://badge.fury.io/py/dbmsbenchmarker.svg)](https://badge.fury.io/py/dbmsbenchmarker)\n[![DOI](https://zenodo.org/badge/213186578.svg)](https://zenodo.org/badge/latestdoi/213186578)\n[![JOSS](https://joss.theoj.org/papers/82d2fa62b5c3ec30014f6307cc731cdd/status.svg)](https://joss.theoj.org/papers/82d2fa62b5c3ec30014f6307cc731cdd)\n[![dbmsbenchmarker](https://snyk.io/advisor/python/dbmsbenchmarker/badge.svg)](https://snyk.io/advisor/python/dbmsbenchmarker)\n[![Documentation Status](https://readthedocs.org/projects/dbmsbenchmarker/badge/?version=latest)](https://dbmsbenchmarker.readthedocs.io/en/latest/?badge=latest)\n\n# DBMS-Benchmarker\n\nDBMS-Benchmarker is a Python-based application-level blackbox benchmark tool for Database Management Systems (DBMS).\nIt aims at reproducible measuring and easy evaluation of the performance the user receives even in complex benchmark situations.\nIt connects to a given list of DBMS (via JDBC) and runs a given list of (SQL) benchmark queries.\nQueries can be parametrized and randomized.\nResults and evaluations are available via a Python interface and can be inspected with standard Python tools like pandas DataFrames.\nAn interactive visual dashboard assists in multi-dimensional analysis of the results.\n\nSee the [homepage](https://github.com/Beuth-Erdelt/DBMS-Benchmarker) and the [documentation](https://dbmsbenchmarker.readthedocs.io/en/latest/Docs.html).\n\nIf you encounter any issues, please report them to our [Github issue tracker](https://github.com/Beuth-Erdelt/DBMS-Benchmarker/issues).\n\n## Key Features\n\nDBMS-Benchmarker\n\n* is Python3-based\n* helps to **benchmark DBMS**\n  * connects to all DBMS having a JDBC interface - including GPU-enhanced DBMS\n  * requires *only* JDBC - no vendor specific supplements are used\n  * benchmarks arbitrary SQL queries - in all dialects\n  * allows planning of complex test scenarios - to simulate realistic or revealing use cases\n  * allows easy repetition of benchmarks in varying settings - different hardware, DBMS, DBMS configurations, DB settings etc\n  * investigates a number of timing aspects - connection, execution, data transfer, in total, per session etc\n  * investigates a number of other aspects - received result sets, precision, number of clients\n  * collects hardware metrics from a Prometheus server - hardware utilization, energy consumption etc\n* helps to **evaluate results** - by providing  \n  * metrics that can be analyzed by aggregation in multi-dimensions, like maximum throughput per DBMS, average CPU utilization per query or geometric mean of run latency per workload\n  * predefined evaluations like statistics\n  * in standard Python data structures\n  * in [Jupyter notebooks](https://github.com/Beuth-Erdelt/DBMS-Benchmarker/blob/master/Evaluation-Demo.ipynb)\n  see [rendered example](https://beuth-erdelt.github.io/DBMS-Benchmarker/Evaluation-Demo.html)  \n  * in an interactive dashboard\n\nFor more informations, see a [basic example](#basic-usage) or take a look in the [documentation](https://dbmsbenchmarker.readthedocs.io/en/latest/Docs.html) for a full list of options.\n\nThe code uses several Python modules, in particular \u003ca href=\"https://github.com/baztian/jaydebeapi\" target=\"_blank\"\u003ejaydebeapi\u003c/a\u003e for handling DBMS.\nThis module has been tested with Citus Data (Hyperscale), Clickhouse, CockroachDB, Exasol, IBM DB2, MariaDB, MariaDB Columnstore, MemSQL (SingleStore), MonetDB, MySQL, OmniSci (HEAVY.AI), Oracle DB, PostgreSQL, SQL Server, SAP HANA, TimescaleDB, and Vertica.\n\n## Installation\n\nRun `pip install dbmsbenchmarker` to install the package.\n\nYou will also need to have\n* Java [installed](https://www.java.com/en/download/help/download_options.html) (we tested with Java 8)\n* `JAVA_HOME` set correctly\n* a JDBC driver suitable for the DBMS you want to connect to (optionally located in your `CLASSPATH`)\n\n## Basic Usage\n\nThe following very simple use case runs the query `SELECT COUNT(*) FROM test` 10 times against one local MySQL installation.\nAs a result we obtain an interactive dashboard to inspect timing aspects.\n\n### Configuration\n\nWe need to provide\n\n* a [DBMS configuration file](https://dbmsbenchmarker.readthedocs.io/en/latest/Options.html#connection-file), e.g. in `./config/connections.config`  \n```\n[\n  {\n    'name': \"MySQL\",\n    'active': True,\n    'JDBC': {\n      'driver': \"com.mysql.cj.jdbc.Driver\",\n      'url': \"jdbc:mysql://localhost:3306/database\",\n      'auth': [\"username\", \"password\"],\n      'jar': \"mysql-connector-java-8.0.13.jar\"\n    }\n  }\n]\n```\n* the required JDBC driver, e.g. `mysql-connector-java-8.0.13.jar`\n* a [Queries configuration file](https://dbmsbenchmarker.readthedocs.io/en/latest/Options.html#query-file), e.g. in `./config/queries.config`  \n```\n{\n  'name': 'Some simple queries',\n  'connectionmanagement': {\n        'timeout': 5 # in seconds\n    },\n  'queries':\n  [\n    {\n      'title': \"Count all rows in test\",\n      'query': \"SELECT COUNT(*) FROM test\",\n      'numRun': 10\n    }\n  ]\n}\n```\n\n\n### Perform Benchmark\n\nRun the CLI command: `dbmsbenchmarker run -e yes -b -f ./config`\n\n* `-e yes`: This will precompile some evaluations and generate the timer cube.\n* `-b`: This will suppress some output\n* `-f`: This points to a folder having the configuration files.\n\nThis is equivalent to `python benchmark.py run -e yes -b -f ./config`\n\nAfter benchmarking has been finished we will see a message like\n```\nExperiment \u003ccode\u003e has been finished\n```\n\nThe script has created a result folder in the current directory containing the results. `code` is the name of the folder.\n\n\n### Evaluate Results in Dashboard\n\nRun the command: `dbmsdashboard`\n\nThis will start the evaluation dashboard at `localhost:8050`.\nVisit the address in a browser and select the experiment `code`.\n\nAlternatively you may use a [Jupyter notebook](https://github.com/Beuth-Erdelt/DBMS-Benchmarker/blob/master/Evaluation-Demo.ipynb), see a [rendered example](https://beuth-erdelt.github.io/DBMS-Benchmarker/Evaluation-Demo.html).\n\n\n## Limitations\n\nLimitations are:\n* strict black box perspective - may not use all tricks available for a DBMS\n* strict JDBC perspective - depends on a JVM and provided drivers\n* strict user perspective - client system, network connection and other host workloads may affect performance\n* not officially applicable for well known benchmark standards - partially, but not fully complying with TPC-H and TPC-DS\n* hardware metrics are collected from a monitoring system - not as precise as profiling\n* no GUI for configuration\n* strictly Python - a very good and widely used language, but maybe not your choice\n\nOther comparable products you might like\n* [Apache JMeter](https://jmeter.apache.org/index.html) - Java-based performance measure tool, including a configuration GUI and reporting to HTML\n* [HammerDB](https://www.hammerdb.com/) - industry accepted benchmark tool based on Tcl, but limited to some DBMS\n* [Sysbench](https://github.com/akopytov/sysbench) - a scriptable multi-threaded benchmark tool based on LuaJIT\n* [OLTPBench](https://github.com/oltpbenchmark/oltpbench) - Java-based performance measure tool, using JDBC and including a lot of predefined benchmarks\n* [BenchBase](https://github.com/cmu-db/benchbase) - successor of OLTPBench\n\n\n## Contributing, Bug Reports\n\nIf you have any question or found a bug, please report them to our [Github issue tracker](https://github.com/Beuth-Erdelt/DBMS-Benchmarker/issues).\nIn any bug report, please let us know:\n\n* Which operating system and hardware (32 bit or 64 bit) you are using\n* Python version\n* DBMSBenchmarker version (or git commit/date)\n* DBMS you are connecting to\n* Traceback that occurs (the full error message)\n\nWe are always looking for people interested in helping with code development, documentation writing, technical administration, and whatever else comes up.\nIf you wish to contribute, please first read the [contribution section](https://github.com/Beuth-Erdelt/DBMS-Benchmarker/blob/master/docs/CONTRIBUTING.md) or visit the [documentation](https://dbmsbenchmarker.readthedocs.io/en/latest/CONTRIBUTING.html).\n\n\n## Benchmarking in a Kubernetes Cloud\n\nThis module can serve as the **query executor** [2] and **evaluator** [1] for distributed parallel benchmarking experiments in a Kubernetes Cloud, see the [orchestrator](https://github.com/Beuth-Erdelt/Benchmark-Experiment-Host-Manager) for more details.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Beuth-Erdelt/DBMS-Benchmarker/master/docs/experiment-with-orchestrator.png\" width=\"800\"\u003e\n\u003c/p\u003e\n\n\n## References\n\nIf you use DBMSBenchmarker in work contributing to a scientific publication, we kindly ask that you cite our application note [1] and/or [3]:\n\n\n[1] [A Framework for Supporting Repetition and Evaluation in the Process of Cloud-Based DBMS Performance Benchmarking](https://doi.org/10.1007/978-3-030-84924-5_6)\n\u003e Erdelt P.K. (2021)\n\u003e A Framework for Supporting Repetition and Evaluation in the Process of Cloud-Based DBMS Performance Benchmarking.\n\u003e In: Nambiar R., Poess M. (eds) Performance Evaluation and Benchmarking. TPCTC 2020.\n\u003e Lecture Notes in Computer Science, vol 12752. Springer, Cham.\n\u003e https://doi.org/10.1007/978-3-030-84924-5_6\n\n[2] [Orchestrating DBMS Benchmarking in the Cloud with Kubernetes](https://doi.org/10.1007/978-3-030-94437-7_6)\n\u003e Erdelt P.K. (2022)\n\u003e Orchestrating DBMS Benchmarking in the Cloud with Kubernetes.\n\u003e In: Nambiar R., Poess M. (eds) Performance Evaluation and Benchmarking. TPCTC 2021.\n\u003e Lecture Notes in Computer Science, vol 13169. Springer, Cham.\n\u003e https://doi.org/10.1007/978-3-030-94437-7_6\n\n[3] [DBMS-Benchmarker: Benchmark and Evaluate DBMS in Python](https://doi.org/10.21105/joss.04628)\n\u003e Erdelt P.K., Jestel J. (2022).\n\u003e DBMS-Benchmarker: Benchmark and Evaluate DBMS in Python.\n\u003e Journal of Open Source Software, 7(79), 4628\n\u003e https://doi.org/10.21105/joss.04628\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeuth-erdelt%2Fdbms-benchmarker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeuth-erdelt%2Fdbms-benchmarker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeuth-erdelt%2Fdbms-benchmarker/lists"}