HarborSQL Benchmark Dashboard
Dataset-first comparison of Databricks SQL Warehouse baselines, the latest HarborSQL result for each dataset, and a selected HarborSQL version.
Benchmarks are run from compute in the same cloud region as the dataset being read. Results keep only the wall-clock time observed by the benchmark client. Cost columns use server or warehouse compute only from the benchmark pricing assumptions; benchmark client EC2 cost is excluded.
ClickBench
clickbench · latest HarborSQL v0.1.4Analytical workload over the optimized S3-backed ClickBench hits table. The runner executes the 43 ClickBench queries multiple times and reports the aggregate best, median, and average query timings.
| Comparison | Instance size | Version | $/hr | Queries | Runs/query | Failed | Best total | Best cost | Median total | Median cost | Average total | Average cost | Result |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Databricks | 2xs | v2026.10 | $3.60 | 43 | 3 | 0 | 170.3s | $0.1703 | 192.1s | $0.1921 | 218.0s | $0.2180 | results/databricks-sql-warehouse/2xs/v2026.10/clickbench/databricks-2xs-aws-ec2-t3.small-clickbench-20260510T152626Z.json |
| Latest | c8i.2xlarge | v0.1.4 | $0.4454 | 43 | 3 | 0 | 93.584s | $0.0116 | 95.617s | $0.0118 | 95.578s | $0.0118 | results/harborsql/c8i.2xlarge/v0.1.4/clickbench/optimized.json |
| Latest | i3.2xlarge | v0.1.4 | $0.7240 | 43 | 3 | 0 | 119.3s | $0.0240 | 121.0s | $0.0243 | 121.5s | $0.0244 | results/harborsql/i3.2xlarge/v0.1.4/clickbench/optimized.json |
| Latest | i3.xlarge | v0.1.4 | $0.3620 | 43 | 3 | 0 | 253.1s | $0.0255 | 256.1s | $0.0258 | 257.3s | $0.0259 | results/harborsql/i3.xlarge/v0.1.4/clickbench/optimized.json |
| Selected | c8i.2xlarge | v0.1.4 | $0.4454 | 43 | 3 | 0 | 93.584s | $0.0116 | 95.617s | $0.0118 | 95.578s | $0.0118 | results/harborsql/c8i.2xlarge/v0.1.4/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.0-rc.4 | $0.7240 | 43 | 3 | 0 | 201.6s | $0.0405 | 212.2s | $0.0427 | 216.9s | $0.0436 | results/harborsql/i3.2xlarge/v0.1.0-rc.4/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.0 | $0.7240 | 43 | 3 | 3 | 194.3s | $0.0391 | 197.2s | $0.0397 | 198.4s | $0.0399 | results/harborsql/i3.2xlarge/v0.1.0/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.2-rc.1 | $0.7240 | 43 | 3 | 0 | 113.6s | $0.0228 | 116.5s | $0.0234 | 118.2s | $0.0238 | results/harborsql/i3.2xlarge/v0.1.2-rc.1/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.2 | $0.7240 | 43 | 3 | 0 | 121.6s | $0.0245 | 123.4s | $0.0248 | 124.1s | $0.0250 | results/harborsql/i3.2xlarge/v0.1.2/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.3 | $0.7240 | 43 | 3 | 0 | 119.3s | $0.0240 | 121.6s | $0.0245 | 122.1s | $0.0246 | results/harborsql/i3.2xlarge/v0.1.3/clickbench/optimized.json |
| Selected | i3.2xlarge | v0.1.4 | $0.7240 | 43 | 3 | 0 | 119.3s | $0.0240 | 121.0s | $0.0243 | 121.5s | $0.0244 | results/harborsql/i3.2xlarge/v0.1.4/clickbench/optimized.json |
| Selected | i3.xlarge | v0.1.4 | $0.3620 | 43 | 3 | 0 | 253.1s | $0.0255 | 256.1s | $0.0258 | 257.3s | $0.0259 | results/harborsql/i3.xlarge/v0.1.4/clickbench/optimized.json |
| Selected | v0.1.4 | No HarborSQL results for the selected version. |
Per-query detail
| Query | Databricks / 2xs | Latest HarborSQL / c8i.2xlarge | Latest HarborSQL / i3.2xlarge | Latest HarborSQL / i3.xlarge | Selected HarborSQL / c8i.2xlarge | Selected HarborSQL / i3.2xlarge | Selected HarborSQL / i3.xlarge |
|---|---|---|---|---|---|---|---|
Q0SELECT COUNT(*) FROM hits | 2.678s | 0.016s | 0.016s | 0.017s | 0.016s | 0.234s0.227s0.010s0.017s0.015s0.016s | 0.017s |
Q1SELECT COUNT(*) FROM hits WHERE AdvEngineID <> 0 | 1.052s | 1.012s | 1.099s | 1.062s | 1.012s | 3.255s1.124s0.754s1.105s1.117s1.099s | 1.062s |
Q2SELECT SUM(AdvEngineID), COUNT(*), AVG(ResolutionWidth) FROM hits | 1.022s | 1.010s | 1.094s | 1.166s | 1.010s | 2.330s1.152s0.869s1.048s1.019s1.094s | 1.166s |
Q3SELECT AVG(UserID) FROM hits | 0.854s | 1.074s | 1.107s | 1.400s | 1.074s | 3.363s1.219s0.815s1.068s1.096s1.107s | 1.400s |
Q4SELECT COUNT(DISTINCT UserID) FROM hits | 3.306s | 1.480s | 1.809s | 3.949s | 1.480s | 3.545s3.225s1.839s1.855s1.745s1.809s | 3.949s |
Q5SELECT COUNT(DISTINCT SearchPhrase) FROM hits | 3.948s | 1.440s | 1.700s | 3.891s | 1.440s | 3.967s3.060s1.738s1.774s1.724s1.700s | 3.891s |
Q6SELECT MIN(EventDate), MAX(EventDate) FROM hits | 0.720s | 0.033s | 0.037s | 0.057s | 0.033s | 0.209s0.245s0.030s0.038s0.055s0.037s | 0.057s |
Q7SELECT AdvEngineID, COUNT(*) FROM hits WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY COUNT(*) DESC | 0.814s | 1.100s | 1.084s | 1.093s | 1.100s | 2.484s1.022s0.800s1.117s1.001s1.084s | 1.093s |
Q8SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10 | 3.659s | 1.622s | 2.172s | 4.929s | 1.622s | 4.800s3.958s2.208s2.251s2.213s2.172s | 4.929s |
Q9SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY Reg... | 5.807s | 1.955s | 2.423s | 5.423s | 1.955s | 4.792s4.598s2.552s2.571s2.430s2.423s | 5.423s |
Q10SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhoneModel... | 1.711s | 1.325s | 1.374s | 2.155s | 1.325s | 4.215s1.712s1.465s1.366s1.359s1.374s | 2.155s |
Q11SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY Mob... | 5.335s | 1.430s | 1.430s | 2.472s | 1.430s | 3.847s1.841s1.269s1.439s1.456s1.430s | 2.472s |
Q12SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10 | 3.650s | 1.533s | 1.893s | 4.038s | 1.533s | 3.192s3.094s1.754s1.936s1.916s1.893s | 4.038s |
Q13SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY u... | 4.844s | 2.351s | 2.743s | 5.794s | 2.351s | 4.747s4.316s2.518s2.758s2.674s2.743s | 5.794s |
Q14SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, Search... | 2.582s | 1.653s | 1.927s | 4.106s | 1.653s | 4.445s2.996s1.810s2.068s1.956s1.927s | 4.106s |
Q15SELECT UserID, COUNT(*) FROM hits GROUP BY UserID ORDER BY COUNT(*) DESC LIMIT 10 | 2.679s | 1.620s | 1.977s | 4.378s | 1.620s | 3.534s3.535s2.021s2.050s1.967s1.977s | 4.378s |
Q16SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10 | 5.432s | 2.852s | 3.700s | 8.426s | 2.852s | 5.111s6.522s3.896s3.772s3.588s3.700s | 8.426s |
Q17SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10 | 4.449s | 2.809s | 3.522s | 8.082s | 2.809s | 5.111s6.510s3.801s3.749s3.554s3.522s | 8.082s |
Q18SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, m, SearchPhrase... | 9.806s | 5.257s | 6.620s | 15.228s | 5.257s | 9.061s11.583s6.936s6.741s6.745s6.620s | 15.228s |
Q19SELECT UserID FROM hits WHERE UserID = 435090932899640449 | 0.484s | 0.570s | 0.752s | 0.644s | 0.570s | 1.402s0.709s0.455s0.576s0.543s0.752s | 0.644s |
Q20SELECT COUNT(*) FROM hits WHERE URL LIKE '%google%' | 3.134s | 2.675s | 3.504s | 7.983s | 2.675s | 7.122s6.147s3.397s3.542s3.558s3.504s | 7.983s |
Q21SELECT SearchPhrase, MIN(URL), COUNT(*) AS c FROM hits WHERE URL LIKE '%google%' AND SearchPhrase <> '' GROUP BY Sear... | 3.277s | 3.045s | 4.025s | 9.548s | 3.045s | 8.387s6.745s3.939s4.246s4.205s4.025s | 9.548s |
Q22SELECT SearchPhrase, MIN(URL), MIN(Title), COUNT(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title LIKE '%Google%... | 5.085s | 6.812s | 8.811s | 20.412s | 6.812s | 15.865s13.210s8.378s9.016s8.969s8.811s | 20.412s |
Q23SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10 | 10.336s | 3.832s | 4.853s | 8.644s | 3.832s | 5.033s5.750s3.352s4.651s4.657s4.853s | 8.644s |
Q24SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime LIMIT 10 | 1.274s | 1.618s | 1.958s | 3.948s | 1.618s | 4.159s2.928s1.682s1.963s1.922s1.958s | 3.948s |
Q25SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY SearchPhrase LIMIT 10 | 0.905s | 1.244s | 1.387s | 2.625s | 1.244s | 2.540s1.953s1.119s1.363s1.377s1.387s | 2.625s |
Q26SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10 | 1.245s | 1.825s | 2.254s | 4.785s | 1.825s | 4.569s3.436s1.997s2.339s2.220s2.254s | 4.785s |
Q27SELECT CounterID, AVG(length(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) >... | 3.006s | 3.060s | 4.150s | 9.379s | 3.060s | 8.870s6.643s3.886s4.235s4.177s4.150s | 9.379s |
Q28SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '$1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS... | 28.257s | 13.143s | 20.168s | 44.327s | 13.143s | 24.080s30.029s19.602s19.992s20.066s20.168s | 44.327s |
Q29SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), SUM(Resolu... | 2.863s | 1.319s | 1.426s | 2.552s | 1.319s | 3.139s2.507s1.300s1.498s1.398s1.426s | 2.552s |
Q30SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <>... | 2.021s | 2.031s | 2.224s | 4.808s | 2.031s | 5.201s3.766s2.081s2.418s2.223s2.224s | 4.808s |
Q31SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROU... | 2.137s | 2.111s | 2.556s | 6.005s | 2.111s | 5.798s4.638s2.438s2.702s2.632s2.556s | 6.005s |
Q32SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP OR... | 7.063s | 4.405s | 5.780s | 12.417s | 4.405s | 5.616s11.022s5.446s6.109s5.850s5.780s | 12.417s |
Q33SELECT URL, COUNT(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10 | 13.947s | 5.220s | 6.731s | 15.015s | 5.220s | 9.868s13.532s6.590s6.952s6.717s6.731s | 15.015s |
Q34SELECT 1, URL, COUNT(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10 | 13.878s | 5.060s | 6.576s | 14.713s | 5.060s | 9.486s12.074s6.535s6.834s6.671s6.576s | 14.713s |
Q35SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, COUNT(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, C... | 2.835s | 1.876s | 2.276s | 4.941s | 1.876s | 3.737s4.088s2.242s2.285s2.267s2.276s | 4.941s |
Q36SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013... | 0.659s | 0.308s | 0.304s | 0.416s | 0.308s | 0.701s0.575s0.283s0.300s0.291s0.304s | 0.416s |
Q37SELECT Title, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '20... | 0.595s | 0.371s | 0.370s | 0.491s | 0.371s | 0.754s0.621s0.376s0.363s0.378s0.370s | 0.491s |
Q38SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013... | 0.559s | 0.323s | 0.297s | 0.351s | 0.323s | 0.698s0.562s0.285s0.308s0.331s0.297s | 0.351s |
Q39SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer E... | 0.897s | 0.380s | 0.393s | 0.619s | 0.380s | 0.873s0.402s0.430s0.411s0.393s | 0.619s |
Q40SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND Eve... | 0.487s | 0.269s | 0.279s | 0.279s | 0.269s | 0.500s0.480s0.228s0.243s0.289s0.279s | 0.279s |
Q41SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '... | 0.498s | 0.251s | 0.255s | 0.268s | 0.251s | 0.449s0.458s0.228s0.257s0.250s0.255s | 0.268s |
Q42SELECT DATE_TRUNC('minute', EventTime) AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2... | 0.497s | 0.264s | 0.241s | 0.268s | 0.264s | 0.532s0.528s0.230s0.248s0.251s0.241s | 0.268s |
ClickBench point lookup
clickbench-point-lookup · latest HarborSQL v0.1.4High-concurrency lookup workload over the optimized ClickBench hits table. The runner executes three 10-second phases with increasing target load: 10 RPS, then 20 RPS, then 50 RPS. It issues point-lookups in parallel at each load level using random lookup keys to reduce cache effects. The result reports request count, failure count, average latency, and tail latency percentiles across the run.
Point-lookup stage breakdown
| Stage | Comparison | Version | Target RPS | Attempted | Failed | Drain | Avg latency | p95 | p99 | Query delay p95 | Worker delay p95 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Stage 1 | Databricks | v2026.10 | 10 | 100 | 0 | 41.998s | 18.254s | 26.278s | 26.627s | 46.731s | |
| Stage 2 | Databricks | v2026.10 | 20 | 200 | 0 | 22.160s | 9.591s | 21.312s | 22.094s | 1.123s | |
| Stage 3 | Databricks | v2026.10 | 50 | 500 | 0 | 58.361s | 20.674s | 40.334s | 41.835s | 22.160s | |
| Stage 1 | Latest | v0.1.4 | 10 | 100 | 0 | 7.313s | 5.757s | 9.738s | 10.861s | 0.540s | |
| Stage 2 | Latest | v0.1.4 | 20 | 200 | 0 | 21.621s | 14.226s | 24.663s | 27.420s | 2.308s | |
| Stage 3 | Latest | v0.1.4 | 50 | 500 | 186 | 47.857s | 23.455s | 41.761s | 52.167s | 21.739s | |
| Stage 1 | Latest | v0.1.4 | 10 | 100 | 0 | 17.047s | 12.411s | 19.434s | 20.788s | 1.046s | |
| Stage 2 | Latest | v0.1.4 | 20 | 200 | 0 | 36.713s | 22.873s | 38.872s | 43.442s | 4.300s | |
| Stage 3 | Latest | v0.1.4 | 50 | 500 | 54 | 108.8s | 50.627s | 91.524s | 111.4s | 62.063s | |
| Stage 1 | Latest | v0.1.4 | 10 | 100 | 0 | 42.076s | 30.603s | 46.326s | 48.928s | 1.816s | |
| Stage 2 | Latest | v0.1.4 | 20 | 200 | 0 | 278.5s | 66.381s | 167.5s | 230.7s | 3.241s | |
| Stage 3 | Latest | v0.1.4 | 50 | 500 | 0 | 263.8s | 111.3s | 209.9s | 254.2s | 158.8s | |
| Stage 1 | Selected | v0.1.4 | 10 | 100 | 0 | 7.313s | 5.757s | 9.738s | 10.861s | 0.540s | |
| Stage 2 | Selected | v0.1.4 | 20 | 200 | 0 | 21.621s | 14.226s | 24.663s | 27.420s | 2.308s | |
| Stage 3 | Selected | v0.1.4 | 50 | 500 | 186 | 47.857s | 23.455s | 41.761s | 52.167s | 21.739s | |
| Stage 1 | Selected | v0.1.0-rc.4 | 10 | 100 | 0 | 0.222s | 0.321s | 0.377s | 0.501s | 0.020s | |
| Stage 2 | Selected | v0.1.0-rc.4 | 20 | 200 | 0 | 0.250s | 0.328s | 0.379s | 0.478s | 0.015s | |
| Stage 3 | Selected | v0.1.0-rc.4 | 50 | 500 | 0 | 9.366s | 1.590s | 4.083s | 7.763s | 3.324s | |
| Stage 1 | Selected | v0.1.2 | 10 | 100 | 0 | 26.450s | 18.347s | 30.438s | 31.669s | 1.387s | |
| Stage 2 | Selected | v0.1.2 | 20 | 200 | 0 | 196.1s | 48.059s | 92.208s | 150.1s | 5.979s | |
| Stage 3 | Selected | v0.1.2 | 50 | 500 | 45 | 177.1s | 78.074s | 138.4s | 176.0s | 107.0s | |
| Stage 1 | Selected | v0.1.3 | 10 | 100 | 0 | 14.335s | 10.261s | 17.888s | 20.144s | 1.081s | |
| Stage 2 | Selected | v0.1.3 | 20 | 200 | 0 | 38.741s | 24.791s | 40.274s | 43.793s | 3.701s | |
| Stage 3 | Selected | v0.1.3 | 50 | 500 | 3 | 116.5s | 52.720s | 95.160s | 119.8s | 63.795s | |
| Stage 1 | Selected | v0.1.4 | 10 | 100 | 0 | 17.047s | 12.411s | 19.434s | 20.788s | 1.046s | |
| Stage 2 | Selected | v0.1.4 | 20 | 200 | 0 | 36.713s | 22.873s | 38.872s | 43.442s | 4.300s | |
| Stage 3 | Selected | v0.1.4 | 50 | 500 | 54 | 108.8s | 50.627s | 91.524s | 111.4s | 62.063s | |
| Stage 1 | Selected | v0.1.4 | 10 | 100 | 0 | 42.076s | 30.603s | 46.326s | 48.928s | 1.816s | |
| Stage 2 | Selected | v0.1.4 | 20 | 200 | 0 | 278.5s | 66.381s | 167.5s | 230.7s | 3.241s | |
| Stage 3 | Selected | v0.1.4 | 50 | 500 | 0 | 263.8s | 111.3s | 209.9s | 254.2s | 158.8s | |
| Selected | v0.1.4 | No point-lookup stage rows for the selected version. |
Delta types
delta-types · latest HarborSQL v0.1.4Delta Lake compatibility fixture for type decoding and projection. The core queries read scalar, array, map, and struct columns from delta_type_matrix, including nested field access.
| Comparison | Instance size | Version | $/hr | Queries | Runs/query | Failed | Best total | Best cost | Median total | Median cost | Average total | Average cost | Result |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Databricks | 2xs | v2026.10 | $3.60 | 4 | 3 | 0 | 2.965s | $0.00297 | 3.252s | $0.00325 | 18.739s | $0.0187 | results/databricks-sql-warehouse/2xs/v2026.10/delta-types/databricks-2xs-aws-ec2-t3.small-delta-types-20260510T152629Z.json |
| Latest | c8i.2xlarge | v0.1.4 | $0.4454 | 4 | 3 | 3 | 0.252s | $0.00003 | 0.260s | $0.00003 | 0.263s | $0.00003 | results/harborsql/c8i.2xlarge/v0.1.4/delta-types/compatibility.json |
| Latest | i3.2xlarge | v0.1.4 | $0.7240 | 4 | 3 | 3 | 0.249s | $0.00005 | 0.267s | $0.00005 | 0.262s | $0.00005 | results/harborsql/i3.2xlarge/v0.1.4/delta-types/compatibility.json |
| Latest | i3.xlarge | v0.1.4 | $0.3620 | 4 | 3 | 3 | 0.281s | $0.00003 | 0.297s | $0.00003 | 0.295s | $0.00003 | results/harborsql/i3.xlarge/v0.1.4/delta-types/compatibility.json |
| Selected | c8i.2xlarge | v0.1.4 | $0.4454 | 4 | 3 | 3 | 0.252s | $0.00003 | 0.260s | $0.00003 | 0.263s | $0.00003 | results/harborsql/c8i.2xlarge/v0.1.4/delta-types/compatibility.json |
| Selected | i3.2xlarge | v0.1.4 | $0.7240 | 4 | 3 | 3 | 0.249s | $0.00005 | 0.267s | $0.00005 | 0.262s | $0.00005 | results/harborsql/i3.2xlarge/v0.1.4/delta-types/compatibility.json |
| Selected | i3.xlarge | v0.1.4 | $0.3620 | 4 | 3 | 3 | 0.281s | $0.00003 | 0.297s | $0.00003 | 0.295s | $0.00003 | results/harborsql/i3.xlarge/v0.1.4/delta-types/compatibility.json |
| Selected | v0.1.4 | No HarborSQL results for the selected version. |
SSB
ssb · latest HarborSQL v0.1.4Star Schema Benchmark analytical workload at scale factor 10. The runner executes the 13 generated SSB queries over S3-backed Delta tables and reports aggregate query timings.
| Comparison | Instance size | Version | $/hr | Queries | Runs/query | Failed | Best total | Best cost | Median total | Median cost | Average total | Average cost | Result |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Databricks | 2xs | v2026.10 | $3.60 | 13 | 3 | 0 | 30.681s | $0.0307 | 53.181s | $0.0532 | 74.424s | $0.0744 | results/databricks-sql-warehouse/2xs/v2026.10/ssb/databricks-2xs-aws-ec2-t3.small-ssb-sf10-20260510T152631Z.json |
| Latest | c8i.2xlarge | v0.1.4 | $0.4454 | 13 | 3 | 0 | 34.140s | $0.00422 | 35.686s | $0.00442 | 35.946s | $0.00445 | results/harborsql/c8i.2xlarge/v0.1.4/ssb/ssb-sf10.json |
| Latest | i3.2xlarge | v0.1.4 | $0.7240 | 13 | 3 | 0 | 39.859s | $0.00802 | 40.248s | $0.00809 | 41.016s | $0.00825 | results/harborsql/i3.2xlarge/v0.1.4/ssb/ssb-sf10.json |
| Latest | i3.xlarge | v0.1.4 | $0.3620 | 13 | 3 | 0 | 59.838s | $0.00602 | 60.615s | $0.00610 | 61.302s | $0.00616 | results/harborsql/i3.xlarge/v0.1.4/ssb/ssb-sf10.json |
| Selected | c8i.2xlarge | v0.1.4 | $0.4454 | 13 | 3 | 0 | 34.140s | $0.00422 | 35.686s | $0.00442 | 35.946s | $0.00445 | results/harborsql/c8i.2xlarge/v0.1.4/ssb/ssb-sf10.json |
| Selected | i3.2xlarge | v0.1.0-rc.5 | $0.7240 | 13 | 3 | 0 | 49.792s | $0.0100 | 50.485s | $0.0102 | 51.595s | $0.0104 | results/harborsql/i3.2xlarge/v0.1.0-rc.5/ssb/harborsql-i3.2xlarge-v0.1.0-rc.5-sf10-client-20260428T164659Z.json |
| Selected | i3.2xlarge | v0.1.0 | $0.7240 | 13 | 3 | 0 | 63.903s | $0.0129 | 66.128s | $0.0133 | 65.788s | $0.0132 | results/harborsql/i3.2xlarge/v0.1.0/ssb/ssb-sf10.json |
| Selected | i3.2xlarge | v0.1.2-rc.1 | $0.7240 | 13 | 3 | 0 | 54.461s | $0.0110 | 57.024s | $0.0115 | 57.509s | $0.0116 | results/harborsql/i3.2xlarge/v0.1.2-rc.1/ssb/ssb-sf10.json |
| Selected | i3.2xlarge | v0.1.2 | $0.7240 | 13 | 3 | 0 | 40.015s | $0.00805 | 40.623s | $0.00817 | 41.504s | $0.00835 | results/harborsql/i3.2xlarge/v0.1.2/ssb/ssb-sf10.json |
| Selected | i3.2xlarge | v0.1.3 | $0.7240 | 13 | 3 | 0 | 51.832s | $0.0104 | 53.884s | $0.0108 | 54.416s | $0.0109 | results/harborsql/i3.2xlarge/v0.1.3/ssb/ssb-sf10.json |
| Selected | i3.2xlarge | v0.1.4 | $0.7240 | 13 | 3 | 0 | 39.859s | $0.00802 | 40.248s | $0.00809 | 41.016s | $0.00825 | results/harborsql/i3.2xlarge/v0.1.4/ssb/ssb-sf10.json |
| Selected | i3.xlarge | v0.1.4 | $0.3620 | 13 | 3 | 0 | 59.838s | $0.00602 | 60.615s | $0.00610 | 61.302s | $0.00616 | results/harborsql/i3.xlarge/v0.1.4/ssb/ssb-sf10.json |
| Selected | v0.1.4 | No HarborSQL results for the selected version. |
Per-query detail
| Query | Databricks / 2xs | Latest HarborSQL / c8i.2xlarge | Latest HarborSQL / i3.2xlarge | Latest HarborSQL / i3.xlarge | Selected HarborSQL / c8i.2xlarge | Selected HarborSQL / i3.2xlarge | Selected HarborSQL / i3.xlarge |
|---|---|---|---|---|---|---|---|
Q1.1SELECT SUM(lo_extendedprice * lo_discount) AS revenue FROM lineorder, date WHERE lo_orderdate = d_datekey AND d_year... | 1.329s | 1.293s | 1.683s | 3.387s | 1.293s | 2.236s2.927s2.406s1.656s2.367s1.683s | 3.387s |
Q1.2SELECT SUM(lo_extendedprice * lo_discount) AS revenue FROM lineorder, date WHERE lo_orderdate = d_datekey AND d_yearm... | 1.180s | 1.385s | 1.853s | 3.690s | 1.385s | 2.319s3.064s2.636s1.802s2.552s1.853s | 3.690s |
Q1.3SELECT SUM(lo_extendedprice * lo_discount) AS revenue FROM lineorder, date WHERE lo_orderdate = d_datekey AND d_weekn... | 1.335s | 1.398s | 1.866s | 3.737s | 1.398s | 2.335s3.132s2.613s1.825s2.543s1.866s | 3.737s |
Q2.1SELECT SUM(lo_revenue), d_year, p_brand FROM lineorder, date, part, supplier WHERE lo_orderdate = d_datekey AND lo_pa... | 5.194s | 2.670s | 3.317s | 5.058s | 2.670s | 4.160s5.510s4.734s3.371s4.512s3.317s | 5.058s |
Q2.2SELECT SUM(lo_revenue), d_year, p_brand FROM lineorder, date, part, supplier WHERE lo_orderdate = d_datekey AND lo_pa... | 1.621s | 2.406s | 3.085s | 4.749s | 2.406s | 3.924s5.167s4.380s3.081s4.179s3.085s | 4.749s |
Q2.3SELECT SUM(lo_revenue), d_year, p_brand FROM lineorder, date, part, supplier WHERE lo_orderdate = d_datekey AND lo_pa... | 1.626s | 2.354s | 3.028s | 4.572s | 2.354s | 3.772s5.065s4.318s2.989s4.087s3.028s | 4.572s |
Q3.1SELECT c_nation, s_nation, d_year, SUM(lo_revenue) AS revenue FROM customer, lineorder, supplier, date WHERE lo_custk... | 2.722s | 1.377s | 1.786s | 3.536s | 1.377s | 2.594s3.493s2.738s1.802s2.565s1.786s | 3.536s |
Q3.2SELECT c_city, s_city, d_year, SUM(lo_revenue) AS revenue FROM customer, lineorder, supplier, date WHERE lo_custkey =... | 2.290s | 1.168s | 1.433s | 2.633s | 1.168s | 2.143s2.894s2.054s1.367s1.909s1.433s | 2.633s |
Q3.3SELECT c_city, s_city, d_year, SUM(lo_revenue) AS revenue FROM customer, lineorder, supplier, date WHERE lo_custkey =... | 1.336s | 1.046s | 1.271s | 2.303s | 1.046s | 2.082s2.563s1.820s1.247s1.693s1.271s | 2.303s |
Q3.4SELECT c_city, s_city, d_year, SUM(lo_revenue) AS revenue FROM customer, lineorder, supplier, date WHERE lo_custkey =... | 2.316s | 0.817s | 0.909s | 1.409s | 0.817s | 1.722s1.909s1.167s0.868s1.102s0.909s | 1.409s |
Q4.1SELECT d_year, c_nation, SUM(lo_revenue - lo_supplycost) AS profit FROM date, customer, supplier, part, lineorder WHE... | 4.520s | 13.710s | 13.949s | 15.788s | 13.710s | 14.794s18.451s17.869s14.373s17.153s13.949s | 15.788s |
Q4.2SELECT d_year, s_nation, p_category, SUM(lo_revenue - lo_supplycost) AS profit FROM date, customer, supplier, part, l... | 2.455s | 2.303s | 2.932s | 4.615s | 2.303s | 3.921s5.005s3.917s2.864s3.597s2.932s | 4.615s |
Q4.3SELECT d_year, s_city, p_brand, SUM(lo_revenue - lo_supplycost) AS profit FROM date, customer, supplier, part, lineor... | 2.757s | 2.213s | 2.747s | 4.361s | 2.213s | 3.790s4.723s3.809s2.770s3.573s2.747s | 4.361s |