本文档基于TPC-H测试PolarDB MySQL版8.0.1版本集群版开启IMCI功能时的OLAP负载性能。

PolarDB MySQL版IMCI介绍

PolarDB MySQL版引入列存索引来增强OLAP场景大数据量复杂查询的处理能力。依托于列存索引,PolarDB MySQL版实现了一体化的实时事务处理和实时数据分析的能力,成为一站式IMCI数据库产品解决方案。

列存索引特性在PolarDB MySQL版中的功能架构图如下:HTAP

更多信息请参见列存索引

注意事项

  • IMCI功能按需开启,在同一集群内实现了OLTP和OLAP计算资源的隔离,开启IMCI功能后可以通过新增只读列存节点来服务业务中的OLAP查询请求。关于如何新增只读列存节点,请参见添加只读列存节点
  • PolarDB IMCI性能测试时,需要额外创建一个只读数据库代理自定义地址指向该只读列存节点。请参见OLTP与OLAP业务独立场景下行存和列存手动分流,即这个指向只读列存节点的只读数据库代理自定义地址进行测试。
  • IMCI性能测试,无需对TPC-H中各个表建立二级索引。

测试结果

  • 在TPC-H测试使用的数据集为100 GB的场景下,测试开启IMCI功能(列存)和关闭IMCI功能(行存)时的查询性能。查询时间结果见下表:
    查询行存(秒)列存(秒)加速比
    Q12495.054.45560.69
    Q213.182.275.81
    Q3345.565.5562.26
    Q463.787.848.14
    Q5251.482.6196.35
    Q6241.70.42575.48
    Q7174.914.7037.21
    Q8560.824.45126.03
    Q9450.6813.2034.14
    Q10895.757.49119.59
    Q1130.031.2124.82
    Q12266.141.40190.10
    Q13780.748.9587.23
    Q1472.041.9337.33
    Q15261.773.4176.77
    Q1640.693.1013.13
    Q1757.754.4912.86
    Q18257.6652.494.91
    Q1919.1713.711.40
    Q20143.971.6686.73
    Q21293.9921.8613.45
    Q2218.811.5512.14
    查询时间对比图如下:开关HTAP查询运行时间
  • 在TPC-H使用的数据集为1 TB,节点规格为32核256 GB场景下,测试开启IMCI功能(列存)和关闭IMCI功能(行存并行)时的查询性能。其中,行存并行查询使用的参数和行存并行查询使用的行索引信息如下:
    ##行存并行查询使用的参数
    max_parallel_degree=32
    ##行存并行查询使用的行索引信息
    CREATE INDEX i_s_nationkey ON supplier (s_nationkey);
    CREATE INDEX i_ps_partkey ON partsupp (ps_partkey);
    CREATE INDEX i_ps_suppkey ON partsupp (ps_suppkey);
    CREATE INDEX i_c_nationkey ON customer (c_nationkey);
    CREATE INDEX i_o_custkey ON orders (o_custkey);
    CREATE INDEX i_o_orderdate ON orders (o_orderdate);
    CREATE INDEX i_l_orderkey ON lineitem (l_orderkey);
    CREATE INDEX i_l_partkey ON lineitem (l_partkey);
    CREATE INDEX i_l_suppkey ON lineitem (l_suppkey);
    CREATE INDEX i_l_partkey_suppkey ON lineitem (l_partkey, l_suppkey);
    CREATE INDEX i_l_shipdate ON lineitem (l_shipdate);
    CREATE INDEX i_l_commitdate ON lineitem (l_commitdate);
    CREATE INDEX i_l_receiptdate ON lineitem (l_receiptdate);
    CREATE INDEX i_n_regionkey ON nation (n_regionkey);
    
    analyze table supplier;
    analyze table part;
    analyze table partsupp;
    analyze table customer;
    analyze table orders;
    analyze table lineitem;
    analyze table nation;
    analyze table region;
    查询时间结果见下表:
    查询行存并行(秒)列存(秒)加速比
    Q1612.47475.9328.06
    Q212.53226.9770.46
    Q31169.82436.56631.99
    Q4500.58832.01515.63
    Q5600.46958.76110.21
    Q6242.9854.40055.22
    Q7690.28534.16620.20
    Q8318.27763.7934.98
    Q92550.218237.93710.71
    Q101277.74986.68814.73
    Q11308.1516.87344.83
    Q12283.74328.5869.92
    Q132369.74862.17438.11
    Q14314.29612.56025.02
    Q154698.73021.113222.55
    Q16277.12829.0819.52
    Q17144.78262.1752.32
    Q18303.212211.6251.43
    Q1964.46492.4450.69
    Q207200(超时)10.211705.12
    Q213952.412148.45926.62
    Q2223.76610.2822.31
    查询时间对比图如下:查询时间对比图