比 CK 再快 24% ! YMatrix 5.0 SSB 基准测试报告
近日,YMatrix 5.0 正式发布,通过 138 项优化,实现了性能的全方位突破。其中针对单表查询分析性能,我们进行了 SSB 基准测试,对标大宽表性能标杆 ClickHouse。结果显示:YMatrix 在两种测试数据规模下,分别比 CK 提升了 24% 及 37%。
详细的测试报告如下:
01 测试结论
Star Schema Benchmark(以下简称 SSB)是目前业界普遍采用的一个星型测试集(注 1),它是从 TPC-H (注 2)演化出来的一种针对分析场景的“性价比”评价标准。在 SSB 基准测试中定义了 13 个查询场景,从不同角度和维度,考察了一个分析型数据库的综合性能。
随着社区发展,SSB 最初的设计并不完全适用于今天大部分数仓的使用模式。Apache Druid 在最近的一次基准测试中(注 3),基于原始版本提出了一种 SSB 变体,即:将多张原始表数据先做一次聚合转化为一张宽表,然后基于这张宽表来执行 SSB 基准测试中的各测试项。在 ClickHouse 发布的最新 SSB 基准测试结果中,同样采用了这种方案。(注 4)
此次 YMatrix 5.0 采用了与 ClickHouse 一致的 SSB 基准测试模型,分别测试了 100 倍和 1000 倍数据规模(SSB 的数据规模来源于 TPC-H 的 scale factor)。其中 100 倍数据的宽表数据量约为 6 亿条数据,1000 倍数据的宽表数据量约为 60 亿。测试结果中,100 倍数据规模下 ClickHouse 的测试结果引用了 ClickHouse 官方数据,而官方并未公开 1000 倍数据规模下的结果,因此 1000 倍的结果由 YMatrix 工程师采用同等机器配置实测得到。
最终完整的测试结果如下:
02 测试环境
硬件环境
软件环境
为了最大程度上还原 ClickHouse 最新的测试结果,YMatrix 5.0 的 SSB 基准测试采用和 ClickHouse 同等的测试环境和场景(注 6),即单机部署,并采用目前 YMatrix 产品自动选择的默认部署方式,在前文介绍的硬件环境下是 6 个 Segment 节点。
操作系统内核:3.10.0-1127.19.1.el7.x86_64
操作系统版本:CentOS Linux release 7.8.2003
YMatrix:企业版 matrixdb-5.0.0.beta.2+enterprise-1,其中 YMatrix 集群部署参见见 YMatrix 官网文档 (注 7)和 YMatrix 的 SSB 基准测试工具(注 8)。
ClickHouse:22.7.2.15
03 测试步骤
1. 准备测试环境
如上文“硬件环境”一节,初始化 AWS 上的虚拟机环境。并按照 YMatrix 官网文档(注 9)安装测试集群。
2. 下载 SSB 基准测试工具
3. 环境检查
4.生成测试数据
通过 -s 100,来生成 100 倍规模的数据。
5. 导入测试数据
工具支持测试多种数据规模的数据集,通过 -s 100 选择将生成好的 100 倍数据集导入 YMatrix,默认的导入方式为 MatrixGate (注 10),目前支持 MatrixGate 和 COPY 两种模式,如果需要调整导入方式可以通过 -t 来指定。
6.生成宽表数据
YMatrix 对 SSB 基准中的表结构和查询做出以下调整:
ENUM 字段:ClickHouse 的基准测试中使用了 3 个 ENUM 列 C_REGION, S_REGION, P_MFGR,而 YMatrix 的基准测试中采用了 5 个 enum 列 c_region, s_region, p_mfgr, c_nation, s_nation
排序字段:ClickHouse SSB 基准中主键索引使用了 6 个列 S_REGION, C_REGION, P_MFGR, S_NATION, C_NATION, P_CATEGORY,并且还有额外的 8 个排序键 S_REGION, C_REGION, P_MFGR, S_NATION, C_NATION, P_CATEGORY, LO_CUSTKEY, LO_SUPPKEY;在 YMatrix 的基准测试中没有区分这二者的关系,YMatrix 的基准测试中采用了 7 个排序键:s_region, c_region, p_mfgr, s_nation, c_nation, p_category, lo_orderdate。
7. 执行 SSB 基准测试
04 附录
100 倍数据:YMatrix vs. ClickHouse 结果:
1000 倍数据:YMatrix vs. ClickHouse 结果:
注释:
注 1:
详见:https://www.cs.umb.edu/~poneil/StarSchemaB.PDF
注 2:
参见:https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-h_v3.0.1.pdf
注 3:
注 4:
参见:https://altinity.com/blog/clickhouse-nails-cost-efficiency-challenge-against-druid-rockset
注 5:
参见:https://aws.amazon.com/ec2/instance-types/m5/
注 6:
参见:https://altinity.com/blog/clickhouse-nails-cost-efficiency-challenge-against-druid-rockset
注 7:
参见:https://ymatrix.cn/doc/5.0/install/mx5_cluster/mx5_cluster
注 8:
参见:https://github.com/ymatrix-data/ssb
注 9:
参见:https://ymatrix.cn/doc/5.0/install/mx5_cluster/mx5_cluster
注 10:
版权声明: 本文为 InfoQ 作者【YMatrix 超融合数据库】的原创文章。
原文链接:【http://xie.infoq.cn/article/1636395538a18d834a551f250】。文章转载请联系作者。
评论