TPC-H Benchmark: TiDB Cloud Lake vs. Snowflake
快速概览
TPC-H
TPC-H 基准测试是评估决策支持系统的标准,重点关注复杂查询和数据维护。本分析使用 TPC-H SF100(SF1 = 600 万行)数据集对 TiDB Cloud Lake 与 Snowflake 进行对比。该数据集包含 100GB 数据,以及分布在 22 个查询中的约 6 亿行数据。
Snowflake 和 TiDB Cloud Lake
Snowflake:Snowflake 以其先进特性而闻名,例如存储与计算分离、按需可扩展计算、数据共享以及克隆能力。
TiDB Cloud Lake:TiDB Cloud Lake 提供与 Snowflake 类似的功能。作为云原生数据仓库,它同样实现了存储与计算分离,并可按需提供可扩展计算能力。
它将自己定位为 Snowflake 的一种现代化且更具成本效益的替代方案,尤其适用于大规模分析场景。
性能和成本对比
- 数据加载成本:与 Snowflake 相比,TiDB Cloud Lake 在数据加载方面实现了 48% 的成本降低。
- 查询执行成本:在查询执行方面,TiDB Cloud Lake 比 Snowflake 大约 便宜 35%(冷运行;热运行约为 27%)。
数据加载基准测试
查询基准测试:冷运行
查询基准测试:热运行
复现基准测试
你可以按照以下步骤复现该基准测试。
基准测试环境
该基准测试在相似条件下对 Snowflake 和 TiDB Cloud Lake 进行了测试:
- TPC-H SF100 数据集来源于 Amazon Redshift,在未进行任何特定调优的情况下被加载到 TiDB Cloud Lake 和 Snowflake 中。
基准测试方法
该基准测试中的查询执行包含冷运行和热运行两种方式:
- Cold Run:在执行查询之前,先暂停并恢复数据仓库。
- Hot Run:数据仓库不暂停,使用本地磁盘缓存。
前提条件
- 拥有一个 Snowflake account
- 创建一个 TiDB Cloud Lake account
数据加载
Snowflake Data Load:
- 登录你的 Snowflake account。
- 创建与 TPC-H schema 对应的表。SQL Script。
- 使用
COPY INTO命令从 AWS S3 加载数据。SQL Script。
TiDB Cloud Lake Data Load:
- 登录你的 TiDB Cloud Lake account。
- 按照 TPC-H schema 创建所需的表。SQL Script。
- 使用与 Snowflake 类似的方法从 AWS S3 加载数据。SQL Script。
TPC-H 查询
Snowflake Queries:
- 登录你的 Snowflake account。
- 运行 TPC-H 查询。SQL Script。
TiDB Cloud Lake Queries:
- 登录你的 TiDB Cloud Lake account。
- 运行 TPC-H 查询。SQL Script。


