Postgres在最近的幾個大版本當中針對分析場景進行了大量的優化,包括實現並行查詢、LLVM代碼生成優化等,今天我們就通過性能測試來看看Postgres在面對一款我們國人自己研發的數據庫OushuDB時性能到底如何吧。
測試平臺:
-
單節點x86服務器
-
CPU:2顆10核Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz,超線程40
-
內存:256GB
-
硬盤:4*1000GB SSD
-
操作系統:Centos 7.4
對比軟件版本:
-
OushuDB 4.0
-
Postgres 12.1
測試方法:
本次測試我們採用了國際通用的數據庫測試標準TPC-H。該測試包括 22 個查詢(Q1~Q22),我們主要的評價指標是各個查詢的響應時間,即從提交查詢到結果返回所需時間。
關於TPC-H測試
TPC-H(商業智能計算測試) 是美國交易處理效能委員會(TPC,Transaction Processing Performance Council) 組織制定的用來模擬決策支持類應用的一個測試集。目前在學術界和工業界普遍採用它來評價數據查詢處理能力。
測試過程:
由於Postgres只支持單節點,而OushuDB是一個大規模分佈式數據庫,所以爲了公平起見,本次採用了單節點進行測試。同時,我們將兩款數據庫都開啓了並行計算功能,並使用Scale爲100的數據集(約100GB)進行測試。
OushuDB,存儲格式爲ORC,使用新一代基於SIMD的執行器。Postgres,存儲格式爲Heap。
數據生成方式:
提前用dbgen生成TPCH測試用文本數據;OushuDB採用外部表並行導入,並進行Analyze,共用了705秒,Postgres採用Copy的方式導入並進行Analyze共用了2750秒。
運行結果比較:
(兩款數據庫不同Query下的耗時,越小越好)
查詢 |
OushuDB 響應時間 (單位ms) |
Postgres 響應時間 (單位ms) |
速度比 |
1 |
18,857 |
323,041 |
17.1 |
2 |
2,840 |
3,600,000 |
1267.6 |
3 |
11,480 |
84,879 |
7.4 |
4 |
11,093 |
105,877 |
9.5 |
5 |
12,490 |
68,202 |
5.5 |
6 |
5,211 |
49,611 |
9.5 |
7 |
62,650 |
80,084 |
1.3 |
8 |
10,628 |
69,519 |
6.5 |
9 |
57,707 |
203,552 |
3.5 |
10 |
12,170 |
90,418 |
7.4 |
11 |
2,020 |
20,946 |
10.4 |
12 |
20,793 |
101,713 |
4.9 |
13 |
15,095 |
87,641 |
5.8 |
14 |
5,632 |
50,707 |
9.0 |
15 |
9,813 |
114,268 |
11.6 |
16 |
3,636 |
102,251 |
28.1 |
17 |
54,030 |
3,600,000 |
66.6 |
18 |
32,895 |
756,378 |
23.0 |
19 |
23,182 |
164,942 |
7.1 |
20 |
15,554 |
3,600,000 |
231.5 |
21 |
54,733 |
3,600,000 |
65.8 |
22 |
10,243 |
65,959 |
6.4 |
總共 |
452,752 |
16,939,988 |
37.4 |
根據TPC-H的測試結果來看,OushuDB綜合性能比Postgres快了30倍以上。雖然Postgres是一款很多企業都在使用的十分優秀的數據庫,但是在面對海量數據的查詢這樣的需求時,比OushuDB差的挺遠的。
由此我們也看到國產數據庫這兩年的巨大進步,同時國產數據庫的崛起也在很多領域打破了國外數據庫的壟斷。
接下來我們還將繼續和國外比較常用的數據庫進行一對一PK,包括MySQL、Oracle、Spark、Hive等等。大家最想看哪款請留言?下期我們PK繼續。
關於偶數科技
⌈偶數科技⌋是一家領先的AI和大數據產品和解決方案提供商,致力於AI賦能全球各行業客戶。公司的願景和使命是 “讓人類只爲興趣而工作”。偶數科技的產品已在金融、電信、製造、公安、能源和互聯網等行業得到廣泛的部署和應用。目前⌈偶數科技⌋已經獲得多輪頂級VC的投資。⌈偶數科技⌋是微軟加速器成員企業,併入選美國著名商業雜誌《快公司》“中國最佳創新公司50”榜單。
更多新聞請點擊: