最近在EMC公司就Green Plum做了下測試,總體而言,測試效果還是很不錯的,在這裡非常感謝EMC測試人員的協助,希望有機會能夠合作。
本文先後從資料載入、資料查詢、資料範圍查詢、資料更新、修改方面對Green Plum做了相關測試,並給出了評測結論。
1.1 硬體環境
測試專案 |
Oracle11G |
GreenPlum Master 節點 |
GreenPlum Segment 4節點 |
GreenPlum Segment 8節點 |
主機節點數 |
2 |
2 |
4 |
8 |
CPU |
2*4 intel 2.83GHz |
2*6 intel 3.0GHZ |
2*6 intel 2.93GHZ |
2*6 intel 2.93GHZ |
記憶體 |
16G |
|
|
|
磁碟 |
146G*2(Raid1) SAS 10K |
6*300GB SAS(Raid5) |
12*600GB SAS(Raid5) |
12*600GB SAS(Raid5) |
儲存 |
DELL MD3200 6Gbps SAS 36*2T(2Hotspace) 2T*8+10T( Raid5) |
N/A |
N/A |
N/A |
網路 |
2*1Gb千兆網口 |
4*1 Gb千兆網口 2*1 10GB 萬兆網口 |
2*1 Gb 千兆網口 2*1 10GB 萬兆網口 |
2*1 Gb 千兆網口 2*1 10GB 萬兆網口 |
交換機 |
3560千兆交換機 |
萬兆交換機2臺,千兆交換機1臺 |
1.2 軟體環境
|
Oracle |
Green Plum |
作業系統&版本 |
Oracle Linux5.6 |
Linux5.5 |
資料庫&版本 |
Oracle 11g 11.2.0.2.0 |
Greenplum-db-4.1.1.3 |
2.1 載入效能測試
2.1.1 效能測試專案
測試專案 |
具體專案 |
Oracle 11G |
GreenPlum 4節點 |
GreenPlum 8節點 |
Copy VS SQL loader |
6400萬 |
900秒 |
N/A |
N/A |
外部表 VS 外部表 |
6400萬 |
N/A |
63秒 |
50秒 |
6400萬*3 |
N/A |
130秒 |
76秒 |
|
Insert方式VS Insert方式 |
6400萬 |
1800~9000秒 |
|
|
6400萬*4 |
N/A |
74秒 |
39秒 |
|
6400萬*8 |
N/A |
360秒 |
90秒 |
|
6400萬*16 |
N/A |
356秒 |
209秒 |
2.1.2 測試結果總結
從4節點與8節點的載入效能來看,效能和節點數量基本呈線性關係。
Green Plum與Oracle相比,資料載入的效能提高20倍~100倍不等。
2.2 SELECT效能測試
2.2.1 效能測試專案
標準查詢語句效能測試
測試專案 |
具體專案 |
Oracle 11G |
GreenPlum 4節點 |
GreenPlum 8節點 |
單分割槽分組 (參見相關語句) |
Select |
120秒 |
—— |
40 |
CTAS |
33秒 |
17.5秒 |
12秒 |
|
Insert |
—— |
11.9秒 |
5.3秒 |
|
八分割槽分組 (參見相關語句) |
Select |
500秒 |
—— |
77.6秒 |
CTAS |
232秒 |
—— |
—— |
|
Insert |
—— |
—— |
40.5秒 |
|
三十個分割槽分組 (參見相關語句) |
CTAS |
—— |
—— |
207.3秒 |
單分割槽與八個分割槽分組統計 (參見相關語句) |
Select |
437秒 |
67.1秒 |
56.1秒 |
CTAS |
—— |
35.8秒 |
27.7秒 |
|
Insert |
—— |
32.4秒 |
21.9秒 |
|
單分割槽與三十個分割槽分組統計 (參見相關語句) |
Select |
—— |
230.0秒 |
—— |
IP查詢語句效能測試
測試專案 |
Oracle 11G |
GreenPlum 4節點 |
GreenPlum 8節點 |
IP範圍查詢—by 轉換後 (參見相關語句) |
約1800秒 |
—— |
約2537秒 |
IP範圍查詢—by函式 (參見相關語句) |
約18000秒 |
—— |
約36000秒 |
IP查詢 (參見相關語句) |
—— |
21秒 |
32~98秒 |
2.2.2 測試結果總結
從以上的測試資料來看,大批量的資料處理,都能夠在所期望的時間內以很短的時間完成執行。通過4個節點與8個節點響應的SQL測試時間的比較來看,效能與節點數量基本上呈線性關係。
GreenPlum與Oracle相比,資料查詢的效能提高3倍~20倍不等。(Oracle的測試結果已做過優化,GP則為無索引狀態)
基於IP範圍查詢的結果見補充說明
2.2.3 補充說明
對於IP範圍查詢(包括數字和函式比較),Green Plum和Oracle的執行效能均一般,GreenPlum還要更差一些。
為 瞭解決這個效能問題,Green Plum對IP表做了特殊處理,即把10999行的IP表拆分成1億多條的IP明細表,採用等關聯處理,即避開nestloop方式的join而使用更為 快速的hash join。修正效果顯著,相同的資料關聯從之前的約2500秒的處理時間降低到約20秒,有了100倍左右的提升。
2.3 UPDATE、DELETE效能測試
2.3.1 效能測試專案
測試專案 |
Oracle 11G |
GreenPlum 4節點 |
GreenPlum 8節點 |
Update(30個分割槽) |
—— |
—— |
130.7秒 |
Delete |
—— |
—— |
12秒 |
2.3.2 測試結果總結
對於大批量資料的更新和刪除,Green Plum的優勢更加明顯,Oracle還需要加以特殊處理(即分段處理)才能進行更新和刪除。
Green Plum的Update有個小問題,批量增加欄位會導致整個表的大小翻倍,可以通過表的線上分析進行壓縮。