Dataset for Performance Comparison Oracle, PostgreSQL, and MySQL Database Using JMeter Tools
Description
Abstract: With the continuous increase in data volume, both locally and in the cloud, it is crucial for users of Database Management Systems (DBMS) to consistently monitor system performance and stability. Databases play a key role in enhancing industrial productivity, including in the manufacturing sector. This research was conducted at a Bottled Drinking Water Company (BDWC) utilizing Database Management Systems (DBMS) such as Oracle, MySQL, and PostgreSQL to assess performance. As a representation of Online Transaction Processing (OLTP) in the BDWC industry, 100,000 records were utilized. Performance was evaluated using several test queries with the TPC-C benchmark executed on the three aforementioned DBMS, employing the JMeter tool directly connected to PostgreSQL, MySQL, and Oracle. Five rounds of testing yielded varying results in terms of response time and throughput. From the test results, it can be concluded that MySQL outperforms Oracle and PostgreSQL in terms of response time and throughput. MySQL achieved the best response time of 675/ms and the highest throughput of 0.119 requests/second compared to the test results of Oracle and PostgreSQL databases. Oracle obtained a response time of 5553/ms and a throughput of 0.180 requests/second, while PostgreSQL achieved a response time of 10483/ms and a throughput of 0.086 requests/second. Description: To compare the performance of various Database Management Systems (DBMS), five primary tables—customer, salesman, category, qty_product, and product—were used to create a comprehensive test dataset. This data was stored in two main tables, transaction_hdr and transaction_dtl, each containing over 100,000 records. The dataset was utilized to evaluate DBMS performance using tools like JMeter. Tables Used: 1. Customer: Stores customer information, including ID, name, and contact details. 2. Salesman: Contains data on sales personnel, including ID, name, and contact details. 3. Category_Product: Classifies products by category. 4. Qty_Product: Contains information on product quantities. 5. Product: Details product information, such as ID, name, and price. These tables populated the transaction_hdr and transaction_dtl tables, with over 100,000 records each. The transaction_hdr table includes transaction headers (ID, date, customer, salesman, total price), while the transaction_dtl table holds transaction details (product ID, name, category, quantity, price). JMeter was used to conduct performance testing on MySQL, Oracle, and PostgreSQL to assess throughput and response time.
Files
Steps to reproduce
1. Create Database and Tables Step: Create a database and the necessary tables to hold the test data. Description: Define the database schema with the appropriate tables, such as customer, salesman, category, qty_product, product, transaction_hdr, and transaction_dtl. 2. Download Data in CSV Format Step: Download the data file in CSV format to be used for testing. Description: Ensure that the CSV file contains the necessary data for the tables that have been created, with the appropriate structure and format. 3. Import Data into Tables Step: Import data from the downloaded CSV file into the tables that have been created. Description: Use tools or SQL commands to load the data from the CSV file into the database. Ensure that the data is correctly imported into the corresponding tables. 4. Conduct Testing Step: Perform performance testing on the DBMS using the imported data. Description: Utilize tools such as JMeter to assess the performance of the DBMS with the imported dataset. Analyze the results to evaluate performance metrics such as throughput and response time.