基于较新 PostgreSQL 内核的开源 MPP 数据库,面向数据仓库和大规模分析,是 Greenplum 的开源演进版本。
ClickHouse/ClickBench
面向分析型数据库的可复现基准测试套件,基于网页分析数据集和 43 条标准 SQL 查询进行对比。
- Star
- 1,162
- Fork
- 332
- 未关闭 Issue
- 50
- 最近提交
- 3小时前
这是什么?
ClickBench 是一个针对分析型(OLAP)数据库的基准测试项目。它在一张约 1 亿条匿名化网站访问记录的单宽表上运行 43 条固定 SQL 查询,覆盖点击流分析、即席分析和实时看板类查询。每个系统通过一个 Shell 脚本完成安装、数据加载、每条查询运行三次,并记录加载耗时、数据大小和各查询的运行时间。
项目的目标是在廉价的云主机上实现结果可复现,覆盖从自建 OLAP 引擎、OLTP 数据库到托管及无服务器服务的多种系统,并通过接近生产环境的数据分布保证测试的真实性。结果通过网页看板展示,用户可以筛选系统和查询,并按几何平均比值计算综合得分。仓库中包含各系统的测试脚本、建表语句、查询文件以及原始结果 JSON。
该基准也有局限:使用单张宽表,多数结果来自单节点环境,查询按顺序执行而非并发测试。项目方提醒,结果需要结合具体配置审慎解读。
核心功能
- 01包含 43 条标准 SQL 查询,覆盖全表扫描、过滤扫描、索引查找和常见关系运算。
- 02提供自动化 Shell 脚本,完成各系统的安装、数据加载、查询和计时。
- 03数据集以 CSV、TSV、JSON Lines 和 Parquet 格式公开下载。
- 04为每个系统输出加载耗时、存储大小以及冷、热查询运行时间。
- 05提供网页看板,可筛选系统与查询并计算综合评分。
- 06覆盖自建、托管、无服务器数据库,以及部分 NoSQL 和时序数据库。
适用场景
- 在选型前用接近网站分析场景的负载对比候选 OLAP 数据库。
- 在自己的云主机上复现基准结果,验证性能宣传。
- 把新数据库接入测试套件,测量其加载耗时、存储占用和查询速度。
- 在接近生产的数据上研究数据库的压缩、索引和查询执行表现。
快速上手
- 1
在 ClickBench 网站上浏览已发布的基准测试结果
- 2
复制一个现有的系统目录,以添加新系统或新配置
- 3
在全新的 Ubuntu 24.04 或更新版本的虚拟机上运行 benchmark.sh 脚本
- 4
可选:根据结果重新生成 index.html
./generate-results.sh
使用前须知
- 数据集是单一扁平表,可能对规范化的数据仓库不利。
- 大多数已发布的结果来自单节点环境,分布式性能覆盖较少。
- 查询按顺序逐个运行,因此不测试并发和系统容量。
- 元数据中未明确标注该项目的许可证。
收录于专题
标签
常见问题
- ClickBench 是什么?
- 面向分析型数据库的可复现基准测试套件,基于网页分析数据集和 43 条标准 SQL 查询进行对比。 ClickBench 是一个针对分析型(OLAP)数据库的基准测试项目。它在一张约 1 亿条匿名化网站访问记录的单宽表上运行 43 条固定 SQL 查询,覆盖点击流分析、即席分析和实时看板类查询。每个系统通过一个 Shell 脚本完成安装、数据加载、每条查询运行三次,并记录加载耗时、数据大小和各查询的运行时间。
- ClickBench 可以免费使用吗?用的什么许可证?
- ClickBench 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- ClickBench 还在维护吗?
- 活跃维护中。ClickBench 最近一次提交是在 2026年11月7日。
- ClickBench 适合用来做什么?
- 在选型前用接近网站分析场景的负载对比候选 OLAP 数据库。 在自己的云主机上复现基准结果,验证性能宣传。 把新数据库接入测试套件,测量其加载耗时、存储占用和查询速度。 在接近生产的数据上研究数据库的压缩、索引和查询执行表现。
- ClickBench 怎么安装和运行?
- 在 ClickBench 网站上浏览已发布的基准测试结果 复制一个现有的系统目录,以添加新系统或新配置 在全新的 Ubuntu 24.04 或更新版本的虚拟机上运行 benchmark.sh 脚本 可选:根据结果重新生成 index.html: ./generate-results.sh
- 在哪里获取 ClickBench?
- 源代码和安装说明在 GitHub 上:https://github.com/ClickHouse/ClickBench
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
DuckDB 是一个嵌入式的分析型 SQL 数据库,直接运行在应用进程内,无需单独部署服务器。
开源列式数据库管理系统,用于实时生成分析型数据报表。
一款开源 MPP 查询引擎,面向数据湖仓与自有存储的亚秒级分析,兼容 MySQL 协议。
一款分布式 SQL 数据库,兼容 PostgreSQL,可近实时存储和分析海量数据。
开源事件数据平台,可自托管的 Segment 替代方案,用于采集事件并分发到数据仓库和各类工具。