BenchPress — DLoader Benchmark Report

SQL to NoSQL Performance Comparison · TPC-H Dataset
Generated 2026-04-28 14:49:40
MongoDB Cassandra MySQL
Query Comparison

Click on a Query ID to securely view the scripts run across the databases.

Query Database Operation Script
Q1Cassandra
Read customer by ID
Partition key row lookup on customer table
scripts/cassandra_q1.groovy
MongoDB
Read customer by ID
Primary key document lookup on customer collection
scripts/mongo_q1.groovy
MySQL
Read customer by ID
Indexed SELECT on customer table
scripts/mysql_q1.groovy
Q2Cassandra
Read customer orders detail
Partition key scan across orders table
scripts/cassandra_q2.groovy
MongoDB
Read customer orders detail
Embedded / linked orders sub-document lookup
scripts/mongo_q2.groovy
MySQL
Read customer orders detail
JOIN across customer & orders tables
scripts/mysql_q2.groovy
Q3Cassandra
Aggregation: orders by status differs
COUNT per customer partition — no full aggregation support
scripts/cassandra_q3.groovy
MongoDB
Aggregation: orders by status
Aggregation pipeline — group by order status
scripts/mongo_q3.groovy
MySQL
Aggregation: orders by status
GROUP BY on order status column
scripts/mysql_q3.groovy
Q4Cassandra
Range / filter query differs
Filtered scan on lineitems return flag — no cross-partition range
scripts/cassandra_q4.groovy
MongoDB
Range / filter query
Range filter on nation / region field
scripts/mongo_q4.groovy
MySQL
Range / filter query
JOIN + WHERE clause filtering by region
scripts/mysql_q4.groovy
Q5Cassandra
Revenue aggregation
SUM aggregation on lineitems partition
scripts/cassandra_q5.groovy
MongoDB
Revenue aggregation
Pipeline SUM of extended price across lineitems
scripts/mongo_q5.groovy
MySQL
Revenue aggregation
SUM with multi-table JOIN on TPC-H schema
scripts/mysql_q5.groovy
Performance Results
Query Database Samples Avg (ms) Min (ms) Max (ms) Throughput Error %
Q1Cassandra 500 3.5 0 580 286.37/s 0.0%
MongoDB 500 53.4 1 2362 18.74/s 0.0%
MySQL 500 9.6 0 314 103.76/s 0.0%
Q2Cassandra 500 2.3 0 54 430.66/s 0.0%
MongoDB 500 80.4 47 2162 12.44/s 0.0%
MySQL 500 19.7 0 78 50.69/s 0.0%
Q3Cassandra 500 1.8 0 26 568.83/s 0.0%
MongoDB 500 72.3 46 101 13.83/s 0.0%
MySQL 500 11.1 0 54 89.85/s 0.0%
Q4Cassandra 500 2.0 0 30 509.68/s 0.0%
MongoDB 500 77.0 51 119 12.99/s 0.0%
MySQL 500 11.0 0 69 91.19/s 0.0%
Q5Cassandra 500 2.6 0 72 381.39/s 0.0%
MongoDB 500 81.8 56 113 12.22/s 0.0%
MySQL 500 39.3 6 130 25.44/s 0.0%
Response Time Comparison

Q1 — Read customer by ID

Cassandra
3.5 ms
MongoDB
53.4 ms
MySQL
9.6 ms

Q2 — Read customer orders detail

Cassandra
2.3 ms
MongoDB
80.4 ms
MySQL
19.7 ms

Q3 — Aggregation: orders by status

Cassandra
1.8 ms
MongoDB
72.3 ms
MySQL
11.1 ms

Q4 — Range / filter query

Cassandra
2.0 ms
MongoDB
77.0 ms
MySQL
11.0 ms

Q5 — Revenue aggregation

Cassandra
2.6 ms
MongoDB
81.8 ms
MySQL
39.3 ms