ClickHouse recently tested its JOIN capabilities with this coffee shop-themed benchmark, originally designed to evaluate the JOIN-heavy query performance of Databricks and Snowflake. As a database known for its JOIN power, how could Apache Doris resist the challenge?
When it comes to pushing the limits of analytical databases, Apache Doris has never been a bystander. It's time to turn years of deep engineering in query optimization, storage engines, and high-concurrency processing into real-world performance that speaks louder than claims.
In large-scale benchmarks spanning both straightforward JOINs (coffee shop benchmark) and production-grade TPC-H/TPC-DS workloads, Apache Doris consistently delivers significantly faster performance. And on top of that, Apache Doris requires just 10%-20% of the cost of Snowflake or ClickHouse for OLAP workloads.
Test overview
In this round of benchmarking, we focused on Apache Doris, ClickHouse, and Snowflake. More engines will be added in future reports as we expand the comparison.
Cluster setup
-
Apache Doris
We used the managed service based on Apache Doris: VeloDB Cloud.
- Baseline setup: 4 compute nodes, each with 16 cores / 128 GB RAM (shown in charts as
Doris 4n_16c_128g
). - Scale-out setup: 30 compute nodes, each with 16 cores / 128 GB RAM.
- Baseline setup: 4 compute nodes, each with 16 cores / 128 GB RAM (shown in charts as
-
ClickHouse
Tests ran on ClickHouse Cloud v25.4.
- Baseline setup: 2 compute nodes, each with 30 cores / 120 GB RAM (shown as
ClickHouse 2n_30c_120g
). - Scale-out setup: 16 compute nodes, each with 30 cores / 120 GB RAM.
- Baseline setup: 2 compute nodes, each with 30 cores / 120 GB RAM (shown as
-
Snowflake
Benchmarks used Gen2 warehouses across 3 standard sizes:
- Small:
Snowflake small_gen2
- Medium:
Snowflake medium_gen2
- Large:
Snowflake large_gen2
- Small:
We measured Total Running Time and Total Cost. Running time shows each system's performance, and cost captures its overall execution price. Combined, these metrics give users a clear benchmark for real-world technology evaluation.
Coffee shop benchmark
The dataset in this coffee shop-themed benchmark mimics order data from a national coffee chain, with 3 tables:
- Sales: Fact table (orders)
- Products: Dimension table (product)
- Locations: Dimension table (store/location)
The benchmark includes 17 performance test queries, most of which involve JOINs between the fact table and one or two dimension tables. The queries are executed sequentially.
Each query was run 5 times, with the fastest execution selected as the final performance metric. The benchmark dataset was tested at three scales:
- 721 million rows
- 1.4 billion rows
- 7.2 billion rows
We evaluated all 3 products across each of these dataset sizes to provide a comprehensive comparison.
Results
721 million rows
At the 721 million-row scale, Apache Doris is more than 3× faster than ClickHouse and 6× faster than Snowflake. Across all 17 benchmark queries, Apache Doris is the fastest among the three products. From a cost perspective, Apache Doris runs at roughly 1/3 the cost of ClickHouse and 1/5 the cost of Snowflake.
1.4 billion rows
At the 1.4 billion-row scale, Apache Doris delivers 2.5× faster query performance than ClickHouse and 3× faster than Snowflake. Looking at individual query performance, Apache Doris was the fastest in 16 out of the 17 benchmark queries.
And Apache Doris requires only 40% of the costs of ClickHouse and 20% of the cost of Snowflake. (In this test, Snowflake ran on its Medium warehouse configuration, which slightly increased its total cost, making it 5× more expensive than Apache Doris.)
7.2 billion rows
At the 7.2 billion-row scale, Apache Doris is slightly faster than ClickHouse and 8× faster than Snowflake. A closer look at the data shows that query Q16 significantly impacted overall runtime. (For this query, we are actively working on an Apache Doris optimization to address data skew.) Excluding Q16, Apache Doris is still 2× faster than ClickHouse. Across the 17 benchmark queries, Apache Doris is the fastest in 14 of them. These results reinforce that Apache Doris remains the optimal choice for both speed and cost-efficiency, even at massive data scales.
The Coffee Shop Benchmark involves only 2-3 table JOINs, and when we compared it to real-world workloads on Apache Doris, we found it too simplistic. In actual user applications, data models are often highly complex, and queries can be far more varied, covering multiple table JOINs, deeply nested subqueries, and complex aggregations. Evaluating database performance using such a simple benchmark alone may not fully reflect real-world capabilities.
To better simulate practical scenarios and understand how each database product performs under complex query workloads, we increased the benchmark complexity. Specifically, we ran TPC-H/TPC-DS tests on 100 GB datasets, which included more table JOINs and intricate business logic.
TPC-H
TPC-H is one of the most widely used OLAP benchmark tests, designed to simulate queries typical of a wholesale supplier's data environment. The data is stored in third-normal-form (3NF), and queries can involve JOINs across up to 8 tables. These tests execute highly complex queries that target key business metrics, making them much closer to the complexity seen in real-world user workloads.
For this benchmark, the largest table contains 600 million rows, with a total dataset size of 867 million rows.
The test results are as follows:
Comparing the total runtime at the SF100 scale, Apache Doris is 6× faster than Snowflake and 14× faster than ClickHouse. (For ClickHouse, queries Q20-Q22 could not be executed, we assigned them a runtime of zero for total runtime calculation.)
For most queries, Apache Doris completes execution in under 0.5 seconds, delivering 5-10× faster performance than both Snowflake and ClickHouse. In contrast, ClickHouse not only failed to complete all 22 TPC-H queries, but among the queries it could run, it had the longest execution time of the three products. (ClickHouse tests were run on ClickHouse Cloud v25.4, using SQL statements rewritten from the official examples: ClickHouse TPC-H.)
From a cost perspective, Apache Doris achieves this performance at roughly 10% of the cost of Snowflake. Delivering 5× faster performance at one-tenth the price translates to an overall 50× price-performance advantage.
TPC-DS
TPC-H is suitable for evaluating the fundamental OLAP capabilities of a database, since it focuses on traditional OLAP scenarios, simulating relatively simple business analysis such as order processing. It uses a star schema, and queries primarily involve basic aggregations and JOINs.
In contrast, TPC-DS targets more complex decision-support workloads or demanding ETL workloads. It uses a snowflake schema, featuring more intricate relationships and deeper dimensional hierarchies. Queries include nested subqueries, window functions, and other advanced operations.
The TPC-DS benchmark dataset consists of 24 tables (7 fact tables and 17 dimension tables) and is available at multiple scales to test different scaling factors. For this evaluation, we selected the SF100G dataset, where the largest table contains 289 million rows and the total dataset comprises 987 million rows.
On the more complex TPC-DS benchmark, Apache Doris outperforms Snowflake by 30% in total runtime, and uses only 25% of the cost of Snowflake. By comparison, ClickHouse was unable to execute 20% of the queries, and for the ones it could run, the total runtime reached 1,681 seconds, almost 30× slower than Apache Doris and 16× slower than Snowflake.
Across all 99 benchmark queries, Apache Doris delivered the fastest performance in over 80% of SQL statements.
Wrapping up & what's next
Across this multi-dimensional performance benchmark, OLAP products (Apache Doris, ClickHouse, Snowflake) displayed significant differentiation in both performance and cost-efficiency, with gaps widening as query complexity increased.
In simple JOIN tests like the Coffee Shop Benchmark, both Apache Doris and ClickHouse outperformed Snowflake, leveraging lightweight architectures and targeted optimizations to deliver faster JOIN performance and reduce baseline analysis latency.
In complex query scenarios, such as multi-table JOINs and nested subqueries in TPC-H and TPC-DS, the performance gap became even more pronounced. Apache Doris and Snowflake, with their mature query optimizers and advanced SQL engines, delivered stable, high-efficiency performance, effortlessly handling high-complexity workloads. By comparison, ClickHouse was tens of times slower on many queries, with significantly higher latency and resource consumption. This highlights the need for careful technical evaluation before deploying it in environments with frequent, complex multi-table operations.
Overall, Apache Doris demonstrated the most balanced and outstanding performance across all scenarios. From simple JOINs to highly complex analytical queries, Apache Doris consistently ranks at the top, while achieving 10%-20% of the hardware cost of comparable solutions. This makes it a good fit for full-stack OLAP workloads, from basic analytics to complex business decision support.
The ongoing performance race in the open-source world continues to drive technological breakthroughs. This benchmark represents just a first glimpse of Apache Doris' capabilities. We will keep expanding tests to cover more business scenarios, higher complexity, and larger data scales. We will continue collaborating with industry peers to push OLAP performance to new heights and redefine the possibilities of modern data analytics. Stay tuned and join our discussions in the Apache Doris community!
The tests above were run on VeloDB Cloud, the fully managed service for Apache Doris. You can instantly tap into this capability: production-ready, cloud-native, and community-driven. Get started with a free trial and see the difference for yourself!