← News & Updates

ClickBench 10M: Hotdata vs Neon

Divya Ranganathan1 min read

We ran the ClickBench benchmark across 43 queries and 10 million rows (1.5 GB), comparing Hotdata to Neon.

I know it may not seem like a fair comparison to benchmark a transactional database against a columnar database. However, we've found that developers are increasingly using PostgreSQL as the primary data layer for agents because of its flexibility and ecosystem. While Postgres is great as the primary application database, when the workload shifts toward high-concurrency, low-latency search and analytical queries, a purpose-built engine like Hotdata is a better fit. This benchmark is intended to evaluate that increasingly common deployment pattern rather than compare the databases in their traditional use cases.

  • Methodology: Best of 3 server-side execution times
  • Hotdata: execution_time_ms from JSON API response
  • Neon: EXPLAIN (ANALYZE, TIMING) Execution Time via direct psql
12.4s
Hotdata total time
158.3s
Neon total time
12.7×
Geomean speedup
HotdataNeon (PostgreSQL)bars: log₁₀ scale
Q
Query pattern
Hotdata & Neon execution time
Speedup
Q01
COUNT(*) full scan
40ms
1.20s
30.0×
Q02
COUNT WHERE filter
58ms
1.22s
21.0×
Q03
SUM + COUNT + AVG
154ms
1.28s
8.3×
Q04
AVG(UserID)
555ms
1.10s
2.0×
Q05
COUNT DISTINCT users
589ms
7.26s
12.3×
Q06
COUNT DISTINCT phrases
394ms
4.14s
10.5×
Q07
MIN / MAX date
49ms
1.19s
24.2×
Q08
GROUP BY adv engine
60ms
1.26s
21.1×
Q09
Top regions by users
615ms
4.01s
6.5×
Q10
Regions × multi-agg
128ms
4.59s
35.9×
Q11
Top phone models
111ms
1.11s
10.0×
Q12
Phone + model combos
114ms
1.29s
11.3×
Q13
Top search phrases
536ms
2.63s
4.9×
Q14
Phrases by distinct users
669ms
2.42s
3.6×
Q15
Engine × phrase combos
495ms
2.47s
5.0×
Q16
Top users by hit count
79ms
3.62s
45.8×
Q17
Users × phrases ordered
644ms
3.69s
5.7×
Q18
Users × phrases unordered
427ms
1.83s
4.3×
Q19
Per-minute user × phrase
819ms
6.69s
8.2×
Q20
Point lookup by UserID
49ms
798ms
16.3×
Q21
URL LIKE %google%
334ms
1.09s
3.3×
Q22
Google URLs + phrases
398ms
1.25s
3.2×
Q23
Title LIKE Google
776ms
1.97s
2.5×
Q24
SELECT * google URLs
416ms
1.11s
2.7×
Q25
Search phrases by time
124ms
1.06s
8.5×
Q26
Phrases alphabetical
100ms
1.20s
12.0×
Q27
Phrases × time multi-sort
136ms
1.09s
8.0×
Q28
Avg URL length by counter
309ms
1.80s
5.8×
Q29
Regex domain extraction
1.26s
15.6s
12.4×
Q30
90-column SUM (wide)
94ms
3.31s
35.2×
Q31
Engine × IP filtered agg
150ms
7.64s
50.9×
Q32
WatchID × IP filtered agg
169ms
8.54s
50.5×
Q33
WatchID × IP full-table agg
184ms
27.9s
151.7×
Q34
Top URLs by count
307ms
8.32s
27.1×
Q35
URL + literal GROUP BY
305ms
8.99s
29.5×
Q36
IP arithmetic GROUP BY
90ms
2.68s
29.8×
Q37
CounterID 62 — July views
109ms
1.74s
16.0×
Q38
CounterID 62 — titles
71ms
1.61s
22.7×
Q39
CounterID 62 — link clicks
89ms
1.22s
13.7×
Q40
Traffic source breakdown
158ms
1.73s
11.0×
Q41
URL hash × referer filter
68ms
1.62s
23.9×
Q42
Window size heatmap
59ms
1.63s
27.6×
Q43
Per-minute pageviews
57ms
1.32s
23.1×