Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Spark | 37,285 | 2,394 | 931 | 9 hours ago | 46 | May 09, 2021 | 238 | apache-2.0 | Scala | |
Apache Spark - A unified analytics engine for large-scale data processing | ||||||||||
Dbeaver | 35,112 | 9 hours ago | 1,862 | apache-2.0 | Java | |||||
Free universal database tool and SQL client | ||||||||||
Shardingsphere | 18,995 | 32 | a day ago | 6 | October 17, 2023 | 1,239 | apache-2.0 | Java | ||
Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database. | ||||||||||
Trino | 8,881 | 28 | 9 hours ago | 78 | November 10, 2023 | 2,506 | apache-2.0 | Java | ||
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io) | ||||||||||
Jooq | 5,736 | 1,175 | 357 | 10 hours ago | 210 | October 10, 2023 | 1,924 | other | Java | |
jOOQ is the best way to write SQL in Java | ||||||||||
Flink Cdc Connectors | 4,674 | 14 hours ago | 815 | apache-2.0 | Java | |||||
CDC Connectors for Apache Flink® | ||||||||||
H2database | 3,938 | 50,398 | 4,179 | 3 days ago | 137 | September 18, 2023 | 382 | other | Java | |
H2 is an embeddable RDBMS written in Java. | ||||||||||
Shopping Management System | 3,935 | 2 years ago | 27 | Java | ||||||
该项目为多个小项目的集合(持续更新中...)。内容类似淘宝、京东等网购管理系统以及图书管理、超市管理等系统。目的在于便于Java初级爱好者在学习完某一部分Java知识后有一个合适的项目锻炼、运用所学知识,完善知识体系。适用人群:Java基础到入门的爱好者。 | ||||||||||
Linkis | 3,168 | 38 | 12 hours ago | 3 | July 29, 2023 | 222 | apache-2.0 | Java | ||
Apache Linkis builds a computation middleware layer to facilitate connection, governance and orchestration between the upper applications and the underlying data engines. | ||||||||||
Requery | 3,088 | 46 | 4 | 2 years ago | 25 | May 06, 2019 | 174 | apache-2.0 | Java | |
requery - modern SQL based query & persistence for Java / Kotlin / Android |
DBMS-Benchmarker is a Python-based application-level blackbox benchmark tool for Database Management Systems (DBMS). It aims at reproducible measuring and easy evaluation of the performance the user receives even in complex benchmark situations. It connects to a given list of DBMS (via JDBC) and runs a given list of (SQL) benchmark queries. Queries can be parametrized and randomized. Results and evaluations are available via a Python interface and can be inspected with standard Python tools like pandas DataFrames. An interactive visual dashboard assists in multi-dimensional analysis of the results.
See the homepage and the documentation.
If you encounter any issues, please report them to our Github issue tracker.
DBMS-Benchmarker
For more informations, see a basic example or take a look in the documentation for a full list of options.
The code uses several Python modules, in particular jaydebeapi for handling DBMS. This 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.
Run pip install dbmsbenchmarker
to install the package.
You will also need to have
JAVA_HOME
set correctlyCLASSPATH
)The following very simple use case runs the query SELECT COUNT(*) FROM test
10 times against one local MySQL installation.
As a result we obtain an interactive dashboard to inspect timing aspects.
We need to provide
./config/connections.config
[
{
'name': "MySQL",
'active': True,
'JDBC': {
'driver': "com.mysql.cj.jdbc.Driver",
'url': "jdbc:mysql://localhost:3306/database",
'auth': ["username", "password"],
'jar': "mysql-connector-java-8.0.13.jar"
}
}
]
mysql-connector-java-8.0.13.jar
./config/queries.config
{
'name': 'Some simple queries',
'connectionmanagement': {
'timeout': 5 # in seconds
},
'queries':
[
{
'title': "Count all rows in test",
'query': "SELECT COUNT(*) FROM test",
'numRun': 10
}
]
}
Run the CLI command: dbmsbenchmarker run -e yes -b -f ./config
-e yes
: This will precompile some evaluations and generate the timer cube.-b
: This will suppress some output-f
: This points to a folder having the configuration files.This is equivalent to python benchmark.py run -e yes -b -f ./config
After benchmarking has been finished we will see a message like
Experiment <code> has been finished
The script has created a result folder in the current directory containing the results. <code>
is the name of the folder.
Run the command: dbmsdashboard
This will start the evaluation dashboard at localhost:8050
.
Visit the address in a browser and select the experiment <code>
.
Alternatively you may use a Jupyter notebook, see a rendered example.
Limitations are:
Other comparable products you might like
If you have any question or found a bug, please report them to our Github issue tracker. In any bug report, please let us know:
We are always looking for people interested in helping with code development, documentation writing, technical administration, and whatever else comes up. If you wish to contribute, please first read the contribution section or visit the documentation.
This module can serve as the query executor [2] and evaluator [1] for distributed parallel benchmarking experiments in a Kubernetes Cloud, see the orchestrator for more details.
If you use DBMSBenchmarker in work contributing to a scientific publication, we kindly ask that you cite our application note [1] and/or [3]:
Erdelt P.K. (2021) A Framework for Supporting Repetition and Evaluation in the Process of Cloud-Based DBMS Performance Benchmarking. In: Nambiar R., Poess M. (eds) Performance Evaluation and Benchmarking. TPCTC 2020. Lecture Notes in Computer Science, vol 12752. Springer, Cham. https://doi.org/10.1007/978-3-030-84924-5_6
[2] Orchestrating DBMS Benchmarking in the Cloud with Kubernetes
Erdelt P.K. (2022) Orchestrating DBMS Benchmarking in the Cloud with Kubernetes. In: Nambiar R., Poess M. (eds) Performance Evaluation and Benchmarking. TPCTC 2021. Lecture Notes in Computer Science, vol 13169. Springer, Cham. https://doi.org/10.1007/978-3-030-94437-7_6
[3] DBMS-Benchmarker: Benchmark and Evaluate DBMS in Python
Erdelt P.K., Jestel J. (2022). DBMS-Benchmarker: Benchmark and Evaluate DBMS in Python. Journal of Open Source Software, 7(79), 4628 https://doi.org/10.21105/joss.04628