news 2026/7/21 23:56:59

TPC-H 成本不到一分钱:ClickHouse Cloud 对比 Snowflake、Databricks、BigQuery 和 Redshift

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TPC-H 成本不到一分钱:ClickHouse Cloud 对比 Snowflake、Databricks、BigQuery 和 Redshift

本文字数:5249;估计阅读时间:14分钟

作者:Tom Schreiber, Mark Needham, Alexander Gololobov, Andriy Yakovlev and Robert Schulze

TL;DR

在 TPC-H SF100 标准下,单个 59 核 ClickHouse Cloud 节点在实际运行时间方面,与 Snowflake、Databricks、BigQuery 和 Redshift 相比极具竞争力,同时在性价比方面位居榜首。在 SF10 标准下,它运行所有 22 个查询的成本不到一美分。

ClickHouse Cloud 加入 TPC-H 对比测试

我们在 ClickHouse Cloud、Snowflake、Databricks、BigQuery 和 Redshift 上运行了完整的 TPC-H 工作负载。

在 SF100 标准下,这意味着处理 100 GB 数据、8.66 亿行,并执行 22 个包含大量连接的分析查询。

结果显示:ClickHouse Cloud 在实际运行时间方面表现出强劲竞争力,并在性价比方面位居榜首。

在 SF10 标准下,完成整个工作负载仅需 2.9 秒,计算成本为 0.009 美元。

不到一美分。

本文将展示基准测试结果。有关这些结果背后长达两年之久的连接(Join)工程工作,请参阅配套文章。

基准测试设置

所有基准测试脚本、查询和结果文件均已发布在公共 GitHub 仓库中,以便结果能够被复现和审查。

数据集与运行时间测量

主要对比测试采用 TPC-H SF100 标准:对 8.66 亿行数据执行 22 个查询。

在运行时间测量方面,我们区分冷启动运行(Cold Run)和热启动运行(Hot Run):

冷启动运行(Cold Runs):我们并未系统地比较冷启动性能。云数据仓库表现出不同的缓存行为,且大多数不允许用户可靠地重置操作系统级别的页面缓存或按需重启计算资源。由于冷启动条件无法标准化,因此冷启动结果既不公平也难以复现。

热启动运行(Hot Runs):每个查询在禁用结果缓存的情况下运行三次。图表中采用的是最快的热启动运行结果。由于禁用了结果缓存,此基准测试旨在衡量查询执行本身的性能,而非返回之前已缓存的结果。

对比系统

对于ClickHouse Cloud,我们采用了一套固定配置:一个配备 59 核的 AWS 单计算节点。而对于其他系统,我们选择了实用的数据仓库或无服务器(Serverless)容量配置,并将在后续讨论与其最接近的硬件对比。

• Snowflake :Small、Medium、Large 和 4X-Large Gen2 warehouses

• Databricks (SQL Serverless) :Small、Medium、Large 和 4X-Large warehouses

• BigQuery :2,000 slots

• Redshift Serverless :128 RPUs

成本计算

对于成本计算,我们沿用了此前在关于云数据仓库计费和成本性能的文章中介绍的方法。我们将各个供应商的公开计费模型应用于实测的查询运行时间,并假设所有系统都能实现精确的按秒计算计费。我们还在可比较的美国东部地区采用企业级定价:对于支持的系统,使用 AWSus-east;对于 BigQuery,则使用 GCPus-east

基于上述配置,我们首先来看原始热运行时间 (raw hot runtime)

TPC-H SF100:原始热运行时间 (raw hot runtime)

TPC-H SF100 包含100 GB 数据8.66 亿行,以及22 个连接密集型分析查询

在下图中,每个条形图汇总了 22 个 TPC-H 查询中各查询三次运行的最快结果。数值越低表示性能越好。

ClickHouse Cloud在 19.8 秒内完成了工作负载。

Snowflake则在 Small warehouse 上耗时 32.7 秒,在 Medium 上耗时 22.9 秒,在 Large 上耗时 15.9 秒,在 4X-Large 上耗时 14.7 秒。

Databricks在其不同规模的 SQL 仓库 (SQL warehouse) 上表现如下:Small 仓库耗时 37.3 秒,Medium 仓库耗时 40.0 秒,Large 仓库耗时 28.9 秒,4X-Large 仓库耗时 26.4 秒。

BigQuery在使用 2,000 个 slots 的情况下,耗时 26.2 秒 完成。

Redshift Serverless在使用 128 个 RPU (Redshift Processing Unit) 的情况下,耗时 30.7 秒 完成。

需要注意的是,各系统所使用的计算资源配置并不完全相同。ClickHouse Cloud 使用了一个配备 59 个核心和 236 GiB 内存的 Graviton3 计算节点。

针对 Snowflake 和 Databricks,我们测试了多种 SQL 仓库 (SQL warehouse) 规模,旨在展示运行时长随计算资源扩展的变化情况。与 ClickHouse Cloud 的 59 核节点最接近的硬件参考配置是 Snowflake Large Gen2(据了解采用 64 个 AWS Graviton3 核心和 128 GB 内存),以及 Databricks Large(根据文档中记载的经典计算平面 (compute-plane) 规格,对应 64 个 Intel Xeon E5-2686 v4 核心和 488 GiB 内存)。尽管我们在本次基准测试中使用了 Databricks SQL Serverless,但其公布的 SQL 仓库规格仍提供了一个有价值的参考依据。

此外,还需注意,采用无服务器容量模型 (serverless capacity model) 的系统能够自动将查询工作分散到大规模的预配置计算池中:在此次基准测试中,BigQuery 使用了高达 2,000 个 slots,而 Redshift Serverless 则使用了 128 个 RPU。

凭借单个 59 核计算节点,ClickHouse Cloud 在 TPC-H SF100 的裸机运行时间方面表现出强大的竞争力,足以与主流云数据仓库抗衡,这其中包括配置相近的 64 核 Snowflake 和 Databricks 数据仓库,以及那些能在远超 59 核的大型预置计算池中自动扩展的无服务器引擎。

运行时间仅是考量之一

如上所述,直接比较各系统在运行 TPC-H SF100 工作负载时所使用的计算资源量是困难的。

但我们可以直接比较运行此工作负载的成本。

下面的图表沿用了相同的运行时间条形图,并叠加了各厂商基于其公开计费模型所计算的实际运行计算成本。

ClickHouse Cloud以 19.8 秒完成工作负载,计算成本为 $0.063。

SnowflakeLarge 用时更短,为 15.9 秒,但成本高达 $0.143。Snowflake 4X-Large 再次提速,用时 14.7 秒,但成本则飙升至 $2.121。Databricks的成本范围则在 $0.087 至 $2.714 之间。BigQuery用时 26.2 秒,成本为 $0.163,而Redshift Serverless则用时 30.7 秒,成本为 $0.436。

下一节将运行时间与成本整合,生成单一的成本-性能得分。

TPC-H SF100:成本-性能排名

前面的图表并列展示了运行时间和成本。现在,我们将这两项指标整合为一个简单的成本-性能得分:

成本-性能得分 = 计算成本 × 运行时间

得分越低越好。

这有助于我们解答真正的云基准测试问题:

谁能以每美元成本提供最佳的 Join (连接) 性能?

运行速度快的系统得分更高,成本低的系统得分更高。运行缓慢或价格昂贵的系统会迅速落后。如果一个系统既慢又贵,那么这两种负面影响还会叠加。

ClickHouse Cloud荣登榜首。

紧随其后的是SnowflakeLarge 和 Snowflake Medium 配置,两者的表现均比 ClickHouse Cloud 差约 2 倍。DatabricksSmall 以及拥有 2,000 个槽位 (slots) 的BigQuery则差 3 倍。DatabricksLarge 和 Medium 分别以 5 倍和 6 倍的差距位列其后。

在排名靠后的配置中,Redshift Serverless的表现差 11 倍,Snowflake 4X-Large 差 25 倍,Databricks 4X-Large 差 57 倍,而 BigQuery 按需 (On-demand) 更是差了 67 倍。

ClickHouse Cloud 在 TPC-H SF100 基准测试中实现了最佳的成本-性能:综合得分最低,最接近的测试配置也比其表现差约 2 倍。

TPC-H SF100:按查询运行时间细分

为了全面起见,这里列出了按查询的运行时间细分。每个条形图展示了 22 个 TPC-H 查询中,每个查询三次运行中的最快结果。

聚合结果并非由某个单一异常值 (outlier) 导致。ClickHouse Cloud 在整个查询集上都表现出持续的竞争力。

规模缩减:TPC-H 运行成本低于一美分

SF100 是本文的主要基准测试。但将规模缩减至 SF10,却带来了点睛之笔。

在 SF10 场景下,该工作负载包含8600 万行 (86M rows)数据,涉及与 SF100 相同的22 个 Join (连接) 密集型 TPC-H 查询

在相同的 ClickHouse Cloud 配置下,使用一个 59 核的计算节点 (compute node),整个“热”工作负载 (hot workload) 在 2.9 秒 内完成运行,计算成本仅为 0.009 美元。

下图将运行时间与成本结合,形成一个单一的性价比得分,旨在回答“谁能以每美元实现最佳连接(join)性能?”的问题。

在此规模下,ClickHouse Cloud在这两个维度上均表现出色:它是测试中最快的配置,同时运行成本也最低。Snowflake在性价比方面位居次席,但性能表现仍旧差了 8 倍BigQuery差了 12 倍RedshiftServerless差了 27 倍,而更大规模的 Snowflake 和Databricks配置则远远落后。

在 SF10 规模下,ClickHouse Cloud 仅用 2.9 秒就能运行所有 22 个 TPC-H 查询,成本不到一美分,并且以显著优势提供了最佳性价比。

规模扩展:SF1000 及更高

SF100 的测试结果展示了 ClickHouse 的当前实力:凭借单个 59 核计算节点,ClickHouse Cloud 在运行时间和性价比方面均能与主流云数据仓库抗衡,包括那些采用更大规模或更弹性计算配置的系统。

但 SF100 并非故事的终结。

对于更庞大的规模因子,例如TPC-H SF1000 及更高,连接执行需要在多个节点间进行适当的扩展。这正是工程团队接下来的重点工作,他们将在 ClickHouse Cloud 中为大型分布式连接引入多阶段分布式查询执行 (multi-stage distributed query execution)。

这是下一篇章的内容。而当前这些成就,则得益于过去两年在连接(join)工程上的持续投入。

我们如何实现这一飞跃

上述成果是 ClickHouse 团队两年专注于连接(join)工程的结晶。

在这项工作启动一年后,相同的 TPC-H SF100 连接密集型工作负载已经比 22.4 版本快 4.4 倍。又过了一年,如今整体性能提升了 26 倍,仅去年一年,在默认设置下就带来了额外的6 倍性能提升

这一系列进步源于整个技术栈的优化,具体包括:更快的哈希连接 (hash joins)、更优的查询规划 (planning)、关联子查询 (correlated subquery) 支持、惰性列复制 (lazy column replication)、运行时过滤器 (runtime filters) 以及基于统计信息的连接重排序 (statistics-based join reordering)。

配套文章详细阐述了这些数据背后的工程故事:ClickHouse 如何从“速度快,但不擅长连接操作”转变为默认即具备高性能连接能力的系统。

经过两年专注于连接查询的工程优化,ClickHouse 在 TPC-H SF100 以连接查询为主的工作负载下性能提升了 26 倍,这正是取得这些基准测试结果的关键。

ClickHouse 是面向 AI 时代打造的高性能实时分析数据库,能够以极致性能处理海量数据分析任务。凭借高并发、低延迟和云原生架构,ClickHouse 广泛应用于可观测性、数据仓库、实时分析及 AI 数据基础设施等场景。我们致力于帮助企业在公有云平台上构建安全、弹性且高性价比的实时分析与 AI 数据平台,加速释放数据价值,推动智能化创新与数字化转型。目前,Trip.com、DiDi、Meta、Sony、Netflix、Deutsche Bank、Sierra、Cloudflare 等全球领先企业均在使用 ClickHouse 支撑其关键业务和数据分析平台。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 23:56:01

Spring Boot3整合MyBatis-Plus实战避坑指南

1. Spring Boot3与MyBatis-Plus整合概述在Java企业级开发领域,Spring Boot3作为最新一代的微服务框架,与MyBatis-Plus这一强大的ORM工具的结合,已经成为现代Java后端开发的黄金组合。这套技术栈能够显著提升开发效率,但在实际整合…

作者头像 李华
网站建设 2026/7/21 23:51:49

深入解析TI C2000 eCAP模块:从捕获到APWM的嵌入式时序控制

1. eCAP模块:嵌入式时序控制的瑞士军刀在电机控制、数字电源或者任何需要与外部世界进行精确“对话”的嵌入式系统中,时间就是一切。你是否曾为测量一个高速编码器的脉冲间隔而绞尽脑汁?或者为生成多路严格同步且相位可调的PWM波而调试到深夜…

作者头像 李华
网站建设 2026/7/21 23:46:51

DNF美服狄瑞吉困难模式机制与攻略详解

1. 狄瑞吉困难模式更新解析:DNF美服6月9日版本核心内容 作为一名从60版本玩到现在的老玩家,这次美服更新的狄瑞吉困难模式(Diregie Hard Mode)确实带来了不少值得研究的机制变化。相比普通模式,困难模式不仅提升了怪物…

作者头像 李华
网站建设 2026/7/21 23:45:55

分布式系统中的配置中心架构:推送、拉取与长轮询的工程选择

分布式系统中的配置中心架构:推送、拉取与长轮询的工程选择 一、配置变更的"最后一公里":从手工改文件到毫秒级热更新 绝大多数系统故障源于配置变更。这件事在单体时代还算可控,一个配置文件、一次重启。到了微服务时代&#xff0…

作者头像 李华
网站建设 2026/7/21 23:44:43

HarmonyOS应用开发实战:萌宠日记 - Scroll嵌套Column

前言 在 萌宠日记 的 首页 中,我们采用了 Scroll 嵌套 Column 的经典布局模式,实现了 可滚动的垂直布局。这种模式是 ArkUI 中最常用的 长页面布局方案,它能在有限屏幕空间内展示大量内容,同时保持流畅的滚动体验。 本文将从 萌宠…

作者头像 李华