写点什么

比 CK 再快 24% ! YMatrix 5.0 SSB 基准测试报告

  • 2023-01-09
    北京
  • 本文字数:1892 字

    阅读完需:约 6 分钟

比 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 基准测试工具


git clone https://github.com/ymatrix-data/ssb.git
复制代码


3. 环境检查


./validate_environment.sh
复制代码


4.生成测试数据


通过 -s 100,来生成 100 倍规模的数据。

./generate_data.sh -s 100
复制代码


5. 导入测试数据


工具支持测试多种数据规模的数据集,通过 -s 100 选择将生成好的 100 倍数据集导入 YMatrix,默认的导入方式为 MatrixGate (注 10),目前支持 MatrixGate 和 COPY 两种模式,如果需要调整导入方式可以通过 -t 来指定。

./import_data.sh -s 100
复制代码


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。


./generate_flat_table.sh -s 100
复制代码


7. 执行 SSB 基准测试


./ssb.sh -s 100
复制代码

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:

详见:https://go.imply.io/rs/910-OTN-223/images/Apache-Druid-and-Google-BigQuery-performance-evaluation.pdf

注 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:

参见:https://ymatrix.cn/doc/5.0/datainput/matrixgate

发布于: 2 小时前阅读数: 8
用户头像

MatrixDB 超融合时序数据库 2021-10-28 加入

全球超融合时序数据库开创者,专为物联网、车联网、工业互联网和智慧城市提供一站式数据平台。

评论

发布
暂无评论
比 CK 再快 24% ! YMatrix 5.0 SSB 基准测试报告_Clickhouse_YMatrix 超融合数据库_InfoQ写作社区