比 ClickHouse 再快 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



              本文为  YMatrix 原创内容,未经允许不得转载。

              欲了解更多超融合时序数据库相关信息,请访问   YMatrix 超融合数据库”   官方网站


              请使用浏览器的分享功能分享到微信等