Latency
Our approach to SQL performance benchmarking is to use sysbench, an industry standard benchmarking tool.

Performance Roadmap

Dolt is slower than MySQL. The goal is to get Dolt to within 2-4 times the speed of MySQL for common operations. If a query takes MySQL 1 second, we expect it to take Dolt 2-4 seconds. Or, if MySQL can run 8 queries in 10 seconds, then we want Dolt to run 2-4 queries in 10 seconds. The multiple column represents this relationship with regard to a particular benchmark.
It's important recognize that these are industry standard tests, and are OLTP oriented. Many Dolt use-cases are non-OLTP, and Dolt is fast for bulk operations common in, for example, data pipeline contexts.

Benchmark Data

Below are the results of running sysbench MySQL tests against Dolt SQL Server for the most recent release of Dolt. We will update this with every release. The tests attempt to run as many queries as possible in a fixed 2 minute time window. The Dolt and MySQL columns show the median latency of each query during that 2 minute time window.
The Dolt version is 0.35.6.
Read Tests
Dolt
MySQL
Multiple
covering_index_scan
10.27
1.37
7.5
groupby_scan
33.12
11.65
2.8
index_scan
106.75
35.59
3.0
oltp_point_select
0.8
0.15
5.3
oltp_read_only
15.0
2.76
5.4
select_random_points
1.93
0.29
6.7
select_random_ranges
2.03
0.31
6.5
table_scan
167.44
35.59
4.7
mean
5.2
Write Tests
Dolt
MySQL
Multiple
bulk_insert
0.001
0.001
1.0
oltp_delete
1.1
0.14
7.9
oltp_insert
7.7
2.22
3.5
oltp_read_write
39.65
6.09
6.5
oltp_update_index
9.22
2.43
3.8
oltp_update_non_index
6.43
2.43
2.6
oltp_write_only
25.74
3.36
7.7
mean
4.7
Overall Mean Multiple
5.0
Last modified 4h ago
Export as PDF
Copy link
Edit on GitHub