最近在EMC公司就Green Plum做了下测试,总体而言,测试效果还是很不错的,在这里非常感谢EMC测试人员的协助,希望有机会能够合作。
本文先后从数据加载、数据查询、数据范围查询、数据更新、修改方面对Green Plum做了相关测试,并给出了评测结论。
第 1 章 测试环境
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 章 测试内容及结果
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有个小问题,批量增加字段会导致整个表的大小翻倍,可以通过表的在线分析进行压缩。
©著作权归作者所有:来自51CTO博客作者baoqiangwang的原创作品,如需转载,请注明出处,否则将追究法律责任
职场数据仓库休闲数据仓库