Back
Database Management

Reliable database management for modern, high-performance systems.

Back
Data Modernisation

Reliable database management for modern, high-performance systems.

Back
Data Engineering

Reliable database management for modern, high-performance systems.

Back
Analytics & Intelligence

Reliable database management for modern, high-performance systems.

Back
Data Strategy Consulting

Reliable database management for modern, high-performance systems.

VeloDB Cloud vs ClickHouse Cloud A TPC-DS Multi-Table Join Performance Benchmark

Paramesh M
Published on
October 16, 2026

Executive Summary

We tested VeloDB Cloud against ClickHouse Cloud using TPC-DS - the industry-standard, 24-table benchmark built to reflect how real enterprise data actually looks after migrating from OLTP systems, not the flat single-table setup we used the first time around.

The result: VeloDB was faster on all 9 queries we ran, beating ClickHouse by 1.2x to 3.3x, with the biggest gains showing up on the most join-heavy queries. That lines up with what the business team suspected all along - VeloDB's architecture genuinely handles multi-table joins better, and this benchmark shows it clearly for the first time.

1.Background & Objective

After our first VeloDB vs ClickHouse benchmark - which only tested a single flat table - the business team pointed out a real gap: actual enterprise data warehouses almost never look like that. Data coming from OLTP systems is normalized across many related tables, so real analytical queries need multi-table joins. That's exactly the area where the business team suspected VeloDB might have a real edge over ClickHouse.

Feedback Received

‍

‍2.Benchmark Architecture

The diagram below summarizes the full pipeline used for this benchmark, from local data generation through to the final side-by-side comparison in Apache Superset.

Figure 1. End-to-end benchmark pipeline, from local data generation to final results.

‍3.Sizing & Version

Both platforms were provisioned on AWS, and both ended up running on matched compute during this benchmark - 8 vCPU / 64 GB RAM on each side. That's a useful detail: it means the performance difference measured here reflects a real architectural difference, not one platform simply being given more hardware.

Note: ClickHouse Cloud's compute autoscales within a configured range based on load; 8 vCPU / 64 GB reflects its actual size during testing, not a fixed ceiling the way VeloDB's allocation is.
VeloDB Cloud ClickHouse Cloud
Cloud Platform / Region AWS, US West (N. California) AWS, Oregon (US West-2)
Version 4.1 (Core) 26.4.1.2359
Compute 8 vCPU / 64 GB RAM 8 vCPU / 64 GB RAM (autoscales 16–120 GiB)
Cache 400 GB 219.69 GiB max (SLRU policy)

4. Methodology Overview

  • Generate an ~11GB TPC-DS dataset (Scale Factor 10) across 24 related tables using the official toolkit
  • Generate the standard 99 TPC-DS queries to match that dataset
  • Load the same dataset into both VeloDB Cloud and ClickHouse Cloud
  • Pick a representative set of queries covering different levels of join complexity, from simple 2-table joins to 5+ table joins
  • Connect both platforms to Apache Superset and run the same queries on each, timing every run
  • Compare the results and write up what we found ‍

5.Local Environment Setup

‍Everything was done locally on a Mac, no cloud compute needed for generating the data or queries. We compiled the TPC-DS toolkit from source, hit a small compatibility snag with older C code on modern Apple compilers, fixed it with a couple of compiler flags, and had both tools (dsdgen and dsqgen) working.

6. TPC-DS Dataset & Query Generation

We generated an ~11GB dataset (Scale Factor 10) across all 24 TPC-DS tables, all linked together the way real data would be. SF10 was big enough to actually stress both engines, unlike our first test which was small enough to fit comfortably in memory. We also generated the full set of 99 standard TPC-DS queries against this same dataset.

7.Loading Data into VeloDB Cloud ‍

We created all 24 tables in VeloDB and loaded the data using its Stream Load feature via curl. One small snag: TPC-DS data files have a trailing separator on every line, which VeloDB read as an extra empty column. Easy fix - just told it to expect and discard that extra column. All 24 tables loaded cleanly, and row counts matched what we expected.

Figure 2. VeloDB SQL console - full table list showing all 24 TPC-DS tables.

‍

8. Loading Data into ClickHouse Cloud ‍

Same 24 tables were set up in ClickHouse using its MergeTree engine, and data was loaded directly via clickhouse-client. One adjustment needed: ClickHouse won't let you sort by a column that can be empty, so we swapped the sort keys on the big tables to use non-nullable ID columns instead of date columns.

Figure 3. ClickHouse Cloud console - full table list showing all 24 TPC-DS tables.

9. Data Volume Verification ‍

Before running any comparison queries, row counts for the four largest fact tables were verified independently on both platforms to confirm the datasets were identical. All four tables matched exactly, confirming both platforms were tested against precisely the same data.

Table VeloDB Rows ClickHouse Rows Match
store_sales 28,800,991 28,800,991 ✔
catalog_sales 14,401,261 14,401,261 ✔
web_sales 7,197,566 7,197,566 ✔
inventory 133,110,000 133,110,000 ✔
Figure 4a. Row count verification query executed on VeloDB Cloud.
Figure 4b. Same verification query executed on ClickHouse Cloud, confirming identical row counts.  

‍

10. Apache Superset Integration ‍

Both VeloDB Cloud and ClickHouse Cloud were connected to Apache Superset as separate database sources (via the MySQL-protocol connector for VeloDB, and the native ClickHouse Connect driver for ClickHouse), enabling side-by-side query execution and timing comparison through Superset's SQL Lab interface.

Figure 5. Superset Database Connections screen showing both VeloDB and ClickHouse listed.

‍

11. Initial Query Validation

‍We picked 10 queries out of the 99, covering everything from simple 2-table joins to complex 5-table+ joins - Q1, Q3, Q7, Q19, Q26, Q34, Q42, Q52, Q88, Q95. Q95 didn't get finished this round, so the results below cover the other 9.

On Query 1, VeloDB returned 100 rows in 2.08 seconds, ClickHouse in 2.78 seconds. ClickHouse also threw a column-name error at first because it's case-sensitive and VeloDB isn't - once we fixed the casing it ran fine. Worth flagging for anyone migrating queries over: VeloDB is more forgiving here, which means less friction moving existing SQL across.

 Figure 6. Query 1 result on VeloDB - 2.081s, 100 rows.

‍

 Figure 7. Query 1 result on ClickHouse after the case-sensitivity fix - 2.777s, 100 rows.

‍

12. Full Benchmark Results ‍

All 9 completed queries were executed on both platforms via Superset, with execution time recorded for each. Results are summarized below.

Query ClickHouse (s) VeloDB (s) Speedup
Query 1 10.1 5.3 1.9x
Query 2 6.8 5.6 1.2x
Query 3 10.0 9.0 1.1x
Query 4 10.1 3.2 3.2x
Query 5 10.1 4.5 2.2x
Query 6 9.9 3.5 2.8x
Query 7 10.3 3.1 3.3x
Query 8 10.7 6.0 1.8x
Query 9 8.1 6.1 1.3x
Figure 8. VeloDB vs ClickHouse execution time across all 9 tested queries.

                                                           

VeloDB was faster on all 9 queries, with speedups ranging from 1.1x to 3.3x. Six of the nine queries show ClickHouse clustering tightly around 8-11 seconds, while VeloDB ranges from 3.1 to 6.1 seconds on those same queries - a pattern consistent with the business team's original hypothesis that VeloDB's architecture provides a real advantage on join-heavy, multi-table workloads.

‍13. Limitations

  • SF10 is below TPC-DS's official minimum scale factor for certified, publishable results; these findings are directionally reliable but not a formal TPC-DS certification.
  • Each query was executed once per platform rather than averaged across multiple runs, so individual timings may include some network or cache variance.
  • Tests were run over a home network connection to each cloud service rather than from a co-located or controlled-latency environment.
  • Query 95 was not completed in this round and is not reflected in the results above.

14. Conclusion & Recommendation

This confirms what the business team suspected - on realistic, join-heavy workloads, VeloDB is consistently faster than ClickHouse, and the gap grows as joins get more complex. Combined with what we already found in Phase 1 (easier migration, more reliable CDC, friendlier SQL), this makes an even stronger case for VeloDB as the right platform for Geopits' analytics.

Paramesh M

Data Engineer@Geopits

Our Latest Blogs

From monitoring to modernization, GeoPITS provides expert database management services that enhance performance, strengthen security, and reduce operational costs.

Ready to Transform Your Data?

Geopits works alongside your team as a strategic partner, starting with stabilizing your current databases, then modernizing your data infrastructure, and ultimately helping you unlock the full potential of AI.

170

Happy Clients so far

2100+

Databases Managed

142+

Successful Migrations

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.