本文檔基于TPC-H測試PolarDB MySQL版8.0.1版本集群版開啟IMCI功能時的OLAP負載性能。
PolarDB MySQL版IMCI介紹
PolarDB MySQL版引入列存索引來增強OLAP場景大數據量復雜查詢的處理能力。依托于列存索引,PolarDB MySQL版實現了一體化的實時事務處理和實時數據分析的能力,成為一站式IMCI數據庫產品解決方案。
列存索引特性在PolarDB MySQL版中的功能架構圖如下:
更多信息請參見列存索引。
注意事項
IMCI功能按需開啟,在同一集群內實現了OLTP和OLAP計算資源的隔離,開啟IMCI功能后可以通過新增只讀列存節點來服務業務中的OLAP查詢請求。關于如何新增只讀列存節點,請參見添加只讀列存節點。
PolarDB IMCI性能測試時,需要額外創建一個只讀數據庫代理自定義地址指向該只讀列存節點。請參見OLTP與OLAP業務獨立場景下行存和列存手動分流,即這個指向只讀列存節點的只讀數據庫代理自定義地址進行測試。
IMCI性能測試,無需對TPC-H中各個表建立二級索引。
性能測試
TPCH 100 GB
測試環境一:集群規格為32核256 GB
在TPC-H測試使用的數據集為100 GB,集群規格為32核256 GB場景下,測試開啟IMCI功能(列存)和關閉IMCI功能(行存)時的查詢性能。
查詢時間(非首次執行時間)結果見下表:
查詢SQL | 關閉IMCI功能 1臺機器查詢時間(單位:秒) | 開啟IMCI功能 1臺機器查詢時間(單位:秒) | 開啟IMCI功能 2臺機器查詢時間(單位:秒) | 開啟IMCI功能 3臺機器查詢時間(單位:秒) | 開啟IMCI功能 4臺機器查詢時間(單位:秒) | 列存與行存加速比 | 列存多機scale_factor |
Q1 | 2495.05 | 4.67 | 2.62 | 2.15 | 1.5 | 534.27 | 0.78 |
Q2 | 13.18 | 0.72 | 0.53 | 0.49 | 0.45 | 18.31 | 0.4 |
Q3 | 345.56 | 2.44 | 1.37 | 1.01 | 0.81 | 141.62 | 0.75 |
Q4 | 63.78 | 1.46 | 0.66 | 0.52 | 0.37 | 43.68 | 0.99 |
Q5 | 251.48 | 2.16 | 1.41 | 1.15 | 0.98 | 116.43 | 0.55 |
Q6 | 241.7 | 0.54 | 0.3 | 0.24 | 0.18 | 447.59 | 0.75 |
Q7 | 174.91 | 2.42 | 1.46 | 1.11 | 0.88 | 72.28 | 0.69 |
Q8 | 560.82 | 2.09 | 1.41 | 1.16 | 1.01 | 268.33 | 0.52 |
Q9 | 450.68 | 14.29 | 8.76 | 6.28 | 4.74 | 31.54 | 0.75 |
Q10 | 895.75 | 4.47 | 3.17 | 2.85 | 2.42 | 200.39 | 0.46 |
Q11 | 30.03 | 1.06 | 0.83 | 0.77 | 0.74 | 28.33 | 0.36 |
Q12 | 266.14 | 1.70 | 0.92 | 0.7 | 0.53 | 156.55 | 0.8 |
Q13 | 780.74 | 5.83 | 7.04 | 6.84 | 3.56 | 133.92 | 0.41 |
Q14 | 72.04 | 1.10 | 0.61 | 0.46 | 0.38 | 65.49 | 0.72 |
Q15 | 261.77 | 2.47 | 1.4 | 1.06 | 0.82 | 105.98 | 0.75 |
Q16 | 40.69 | 2.25 | 1.84 | 1.49 | 1.19 | 18.08 | 0.47 |
Q17 | 57.75 | 2.92 | 3.93 | 3 | 2.51 | 19.78 | 0.29 |
Q18 | 257.66 | 12.72 | 6.16 | 3.79 | 2.46 | 20.26 | 1.29 |
Q19 | 19.17 | 2.13 | 1.15 | 0.96 | 0.68 | 9.00 | 0.78 |
Q20 | 143.97 | 1.22 | 1.2 | 1 | 0.8 | 118.01 | 0.38 |
Q21 | 293.99 | 6.92 | 3.37 | 2.38 | 1.82 | 42.48 | 0.95 |
Q22 | 18.81 | 1.41 | 1.33 | 1.16 | 0.98 | 13.34 | 0.36 |
TOTAL | 7735.67 | 77.01 | 51.47 | 40.58 | 29.81 | 100.45 | 0.65 |
開啟IMCI前后查詢時間對比圖如下:
開啟IMCI后,多機查詢時間對比圖如下:
測試環境二:單個節點規格為8核32 GB
在TPC-H測試使用的數據集為100 GB,集群規格為8核32 GB場景下,使用4臺機器測試開啟IMCI功能(列存)時的查詢性能。
查詢時間結果見下表:
查詢SQL | 查詢時間(單位:秒) |
Q1 | 4.74 |
Q2 | 0.79 |
Q3 | 2.35 |
Q4 | 1.13 |
Q5 | 2.51 |
Q6 | 0.54 |
Q7 | 2.51 |
Q8 | 2.07 |
Q9 | 11.07 |
Q10 | 8.01 |
Q11 | 1.00 |
Q12 | 1.49 |
Q13 | 7.11 |
Q14 | 0.92 |
Q15 | 2.24 |
Q16 | 2.62 |
Q17 | 5.44 |
Q18 | 8.78 |
Q19 | 5.75 |
Q20 | 1.64 |
Q21 | 5.99 |
Q22 | 1.69 |
TOTAL | 80.39 |
TPCH 1 TB
測試環境一:集群規格為32核256 GB
在TPC-H使用的數據集為1 TB,節點規格為32核256 GB場景下,使用多臺機器測試開啟IMCI功能(列存)和關閉IMCI功能(行存)時的查詢性能。
查詢時間(非首次執行時間)結果見下表:
查詢SQL | 1臺機器查詢時間(單位:秒) | 2臺機器查詢時間(單位:秒) | 3臺機器查詢時間(單位:秒) | 4臺機器查詢時間(單位:秒) | 列存多機scale_factor |
Q1 | 108.1 | 62.02 | 31.19 | 14.64 | 1.85 |
Q2 | 25.91 | 8.76 | 6.66 | 5.35 | 1.21 |
Q3 | 73.97 | 17.69 | 11.34 | 9.17 | 2.02 |
Q4 | 56.83 | 8.74 | 5.85 | 4.64 | 3.06 |
Q5 | 76.47 | 37.46 | 12.25 | 10.09 | 1.89 |
Q6 | 40.94 | 2.87 | 2.24 | 1.72 | 5.95 |
Q7 | 87.22 | 41.56 | 12.55 | 9.59 | 2.27 |
Q8 | 84.36 | 41.95 | 10.16 | 7.49 | 2.82 |
Q9 | 328.76 | 147.24 | 103.65 | 58.67 | 1.40 |
Q10 | 117.14 | 70.29 | 42.82 | 35.91 | 0.82 |
Q11 | 10.73 | 7.83 | 6.95 | 6.37 | 0.42 |
Q12 | 81.59 | 36.30 | 7.40 | 5.82 | 3.50 |
Q13 | 93.83 | 85.52 | 78.57 | 63.84 | 0.37 |
Q14 | 52.92 | 15.04 | 5.04 | 3.82 | 3.47 |
Q15 | 100.4 | 13.54 | 10.55 | 8.47 | 2.96 |
Q16 | 23.09 | 17.99 | 12.87 | 9.95 | 0.58 |
Q17 | 97.71 | 41.69 | 30.34 | 24.41 | 1.00 |
Q18 | 478.74 | 221.07 | 103.14 | 63.64 | 1.88 |
Q19 | 97.24 | 44.67 | 30.21 | 21.56 | 1.13 |
Q20 | 58.7 | 14.86 | 8.97 | 7.25 | 2.03 |
Q21 | 188.61 | 40.68 | 28.70 | 22.46 | 2.10 |
Q22 | 16.76 | 13.84 | 13.04 | 10.16 | 0.41 |
TOTAL | 2300.02 | 991.64 | 574.49 | 405.02 | 1.42 |
查詢時間對比圖如下:
測試環境二:單個節點規格為8核32 GB
在TPC-H使用的數據集為1 TB,節點規格為8核32 GB場景下,使用4臺機器測試開啟IMCI功能(列存)時的查詢性能。
查詢SQL | 查詢時間(單位:秒) |
Q1 | 86.54 |
Q2 | 21.27 |
Q3 | 50.14 |
Q4 | 31.33 |
Q5 | 54.61 |
Q6 | 29.45 |
Q7 | 56.51 |
Q8 | 62.12 |
Q9 | 166.23 |
Q10 | 132.54 |
Q11 | 14.04 |
Q12 | 48.35 |
Q13 | 96.33 |
Q14 | 36.37 |
Q15 | 75.13 |
Q16 | 29.59 |
Q17 | 87.61 |
Q18 | 205.75 |
Q19 | 66.84 |
Q20 | 46.58 |
Q21 | 117.78 |
Q22 | 19.71 |
TOTAL | 1534.82 |
TPCH 3 TB
測試環境:集群規格為32核256 GB
在TPC-H使用的數據集為3 TB,節點規格為32核256 GB場景下,使用多臺機器測試開啟IMCI功能(列存)時的查詢性能。
查詢時間結果見下表:
查詢SQL | 2臺機器查詢時間(單位:秒) | 4臺機器查詢時間(單位:秒) | 6臺機器查詢時間(單位:秒) | 8臺機器查詢時間(單位:秒) | 12臺機器查詢時間(單位:秒) |
Q1 | 207.5972 | 114.1061 | 73.47038 | 57.16459 | 15.99434 |
Q2 | 16.59763 | 9.126449 | 6.531764 | 5.256679 | 8.056107 |
Q3 | 129.0127 | 70.05587 | 50.75962 | 20.77513 | 15.96027 |
Q4 | 87.88678 | 48.23547 | 11.22043 | 9.06577 | 6.153393 |
Q5 | 145.3669 | 80.90937 | 55.35411 | 20.8387 | 16.81331 |
Q6 | 64.77278 | 33.61284 | 3.626543 | 3.1164 | 2.393298 |
Q7 | 158.332 | 82.21748 | 57.402 | 19.28089 | 14.15242 |
Q8 | 171.7152 | 89.18184 | 61.07931 | 47.21762 | 11.49657 |
Q9 | 695.1544 | 291.9174 | 190.4007 | 143.2241 | 70.81171 |
Q10 | 318.9998 | 260.2054 | 263.955 | 209.1835 | 207.9049 |
Q11 | 26.04949 | 20.9185 | 18.32898 | 17.69759 | 16.45135 |
Q12 | 120.3137 | 62.77258 | 42.20166 | 11.08824 | 7.982793 |
Q13 | 388.5152 | 320.5632 | 151.0701 | 90.68545 | 96.00401 |
Q14 | 93.1189 | 58.5961 | 22.68045 | 21.14225 | 19.99422 |
Q15 | 150.9475 | 79.81816 | 18.32744 | 16.26336 | 11.92104 |
Q16 | 72.26089 | 36.46251 | 24.70481 | 18.45767 | 12.8234 |
Q17 | 233.1315 | 196.8246 | 112.588 | 113.5308 | 109.7312 |
Q18 | 1163.623 | 537.1255 | 305.1325 | 237.8622 | 69.33614 |
Q19 | 152.0749 | 81.25671 | 54.06552 | 41.54125 | 26.91918 |
Q20 | 118.8899 | 77.28576 | 55.68256 | 30.76349 | 30.0725 |
Q21 | 336.2304 | 177.2311 | 52.50164 | 41.73258 | 29.24006 |
Q22 | 52.38819 | 50.87576 | 40.99282 | 37.71081 | 37.43663 |
TOTAL | 4902.97928 | 2779.29879 | 1672.07638 | 1213.59912 | 837.648829 |
查詢時間對比圖如下: