July 11, 2026

KalDB vs OpenSearch ClickBench Benchmarks

benchmarks clickbench opensearch

We are publishing ClickBench benchmark results for KalDB against OpenSearch using the KalDB vs OpenSearch comparison harness and its cold/hot protocol. The run covers all 43 ClickBench query slots, includes two repetitions, completes without failures, and shows KalDB faster on a majority of the weighted query scores.

The current version of KalDB is pinned to OpenSearch 2.11.1, so the raw numbers in this post use OpenSearch 2.11.1 as the comparison target. We have also run the harness against the latest OpenSearch version and seen similar numbers, but the updates for that latest version have not landed in the main branch yet. Once the latest OpenSearch version update lands, we will publish official benchmarks from that configuration.

The headline result: KalDB’s total weighted score was 25.9% lower than OpenSearch 2.11.1 across the full ClickBench query set.

Benchmark Data

The raw per-query data below includes cold latency, hot latency, weighted score, and KalDB/OpenSearch 2.11.1 score ratio for every ClickBench query slot.

Lower is better for cold, hot, and score. Hot is the faster of the two hot runs for each repetition, averaged across repetitions. The ratio is KalDB score / OpenSearch 2.11.1 score, so values below 1.0 mean KalDB was faster.

QueryKalDBOpenSearch 2.11.1Score ratio
Cold (ms)Hot (ms)Score (ms)Cold (ms)Hot (ms)Score (ms)
Q0160.578.098.7120.060.275.11.313
Q1279.5116.2157.0168.575.598.81.590
Q2710.5519.9567.6825.8614.2667.10.851
Q3555.9163.7261.8380.5230.7268.20.976
Q4541.6173.3265.4387.4204.5250.21.061
Q510002.89571.39679.212157.012361.712310.50.786
Q6306.9232.2250.946.17.517.114.658
Q7295.0109.2155.6279.774.4125.71.238
Q81492.7943.31080.61399.7773.7930.21.162
Q91529.0976.71114.81477.7976.81102.01.012
Q10843.5199.4360.4573.9104.4221.71.625
Q111174.6304.3521.8779.0180.6330.21.581
Q12458.0248.0300.5955.0175.6370.40.811
Q135218.73171.83683.54064.33110.43348.91.100
Q148592.47638.67877.112743.611815.612047.60.654
Q15814.1497.1576.3900.9514.5611.10.943
Q1613369.011626.412062.120493.819650.119861.00.607
Q1713314.811596.412026.021368.520261.120538.00.586
Q1817378.315164.015717.625740.124203.624587.80.639
Q19236.045.092.759.38.721.44.339
Q202127.120.3547.01459.9137.6468.21.168
Q212244.935.5587.81980.5161.5616.30.954
Q224442.737.91139.14528.6533.61532.40.743
Q232298.443.4607.11616.9142.4511.01.188
Q24478.9231.4293.3266.5101.9143.02.050
Q25483.3226.8290.9401.7112.2184.51.577
Q26538.5239.7314.4385.898.5170.31.846
Q2725769.522727.823488.229737.928731.928983.40.810
Q2862616.558641.759635.485866.284561.484887.60.703
Q291863.21495.21587.22065.01594.21711.90.927
Q302204.11324.51544.42038.41190.81402.71.101
Q312618.31511.21788.02382.11488.61712.01.044
Q3211029.89746.910067.611526.110364.710655.00.945
Q33462.7265.4314.71746.7493.6806.90.390
Q3427110.824698.225301.330815.230023.330221.20.837
Q357622.37030.37178.310279.89537.29722.90.738
Q36333.872.4137.81386.483.4409.10.337
Q37315.454.2119.51825.953.6496.70.241
Q38643.580.4221.11401.666.0399.90.553
Q398108.96092.56596.69631.88712.68942.40.738
Q40446.696.6184.1414.4137.8206.90.890
Q41516.1114.2214.7489.5158.7241.40.889
Q42327.166.8131.8306.371.3130.11.014

Total: KalDB 209.1 s, OpenSearch 2.11.1 282.3 s, KalDB/OpenSearch 2.11.1 score ratio 0.741, overall KalDB score improvement 25.9%.

Score formula: 0.25 * cold + 0.75 * min(hot1, hot2); totals sum weighted scores across all 43 query slots.

Conclusion

KalDB’s total weighted score was 25.9% lower than OpenSearch 2.11.1, with a KalDB/OpenSearch 2.11.1 score ratio of 0.741. KalDB was faster by weighted score on 24 of 43 query slots, while OpenSearch 2.11.1 was faster on 19.

The biggest gains come from the larger optimized queries, which drive the overall score. These results are preliminary. In the coming days, we will publish final results, the reproducible benchmark harness, and the steps needed to reproduce the run. We will also keep optimizing min/max-style queries, simple aggregations, grouped distinct counts, and selective lookup paths.