最近在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有個小問題,批量增加字段會導致整個表的大小翻倍,可以通過表的在線分析進行壓縮。