当前位置: 首页 > 工具软件 > Vertica > 使用案例 >

oracle vertica性能对比,测试Vertica性能

史鹏云
2023-12-01

软件:

Vertica 6.0.0-4

OS: Red Hat EnterpriseLinux Server release 6.0(x86-64)

Filesystem: ext4

三台服务器参数:

cpu :

4P*8CIntel(R) Xeon(R) CPU E7- 8837  @ 2.67GHz

4P*8CIntel(R) Xeon(R) CPU E7- 4820  @ 2.00GHz

4P*8CIntel(R) Xeon(R) CPU E7- 4820  @ 2.00GHz

Memory:

128GB

128GB

128GB

Disk:

IBM ServeRAID M5015  Rev: 2.13 600GB

IBM ServeRAID M5015  Rev: 2.13 600GB

IBM ServeRAID M5015  Rev: 2.13 600GB

网卡:

100Mb/s

100Mb/s

100Mb/s

测试Vertica三节点集群测试,与两节点集群进行比较如下:

步骤

测试项

Vertica (两节点集群)

Oracle(单节点)

Vertica (三节点集群百兆)

Vertica (三节点集群千兆)

1

数据加载(31亿,两节点情况下单点加载,三节点情况下是每个节点并行4个进程加载,Oracle是单节点光纤加载)

5小时13分26秒

4小时22分50秒

2小时12分31秒

17分03秒

2

两表关联非分布键(31亿+21万)

6小时22分35秒

11小时19分44秒

1小时58分30秒

2小时3分6秒

3

两表关联分布键(31亿+3千万)

2小时56分35秒

6小时13分48秒

2小时31分17秒

4

两表关联汇总非分布键(31亿+174)

649s

2小时16分10秒

729s

386s

5

四表关联非分布键(3千万+16万+16万+5万)

136s

96s

99s

6

四表关联非分布键(3千万+4+7+174)

202s

44s

46s

7

单表汇总(6千万)

109s

113s

8

四表关联非分布键(3千万+16万+2百万+5万)

184s

522s

357s

总计耗时

53527s

64724s

38989s

18487s

测试主要步骤比对说明:

1、  数据加载:

3节点的Vertica集群在加载过程中,是多个节点并行加载,并且在每个节点上开启了4进程并行加载,改造成千兆网络后,网络传输的瓶颈解决,效率大大提升;两节点的Vertica集群是单节点加载,并且通过百兆网络传输分布数据,效率不如oracle单机通过光纤连接磁阵直接加载。

2、  两表关联非分布键(31亿+21万)

3节点的Vertica集群,将临时表建立成temporary方式,并且ksafe设置为0,不需要进行节点间数据备份,从而避免了数据的重分布,所以效率提升

3、  两表关联分布键(31亿+3千万)

3节点的Vertica集群,在百兆网络情况下由于目标表被设置为ksafe 1,需要进行数据备份,300G的数据需要通过百兆带宽进行传输重分布,所以导致效率大幅度下降,改造成千兆网络后,问题解决

Vertica集群(3节点)主要参数设置

Ksafe:1

maxmemorysize :Special: 95%

executionparallelism :  AUTO

Runtimeprioritythreshold : 2

plannedconcurrency      : 4

结果分析:

文件加载入库

Vertica文件加载本质都是通过copy实现,可以通过多节点并行加载,以及在每台节点上开启多进程提升效率。通过将带宽从100Mb/s提升为1000Mb/s 后,加载速度提升一个数量级。

数据分布

插入目标表的过程中,需要检查目标表和源表的分布键字段类型,如果存在字段类型不一致或者字段长度不同(主要指CHAR),都会导致数据重分布,极大影响性能。

多表关联

Vertica多表关联的关联字段,如果设置成为orderby字段,则在关联匹配的过程中使用merge join方式,比默认的hash join方式效率提升很多。

单表汇总

vertica单表汇总是在各自的节点上运算,然后再把结果进行汇总,所以效率比单台节点的oracle高。

建表优化

vertica 提供DBD工具对建表语句、字段压缩方式、分布键、order字段进行优化,但是经过实际使用,分布键的设置和order字段的优化建议往往不准,还需要根据实际的关联语句以及经验进行设置。

数据压缩

vertica数据压缩是根据列式压缩,如果表中存在重复值的字段较多,则压缩比高,比如按地市、微区域等列举小区名称的表,压缩比能够达到1:5,但是对于用户流量信息,由于用户号码和流量的值很少出现重复,所以压缩比很低。压缩比还受到ksafe的影响,ksafe设置为1的情况下,数据会复制一份,容量增加一倍。

 类似资料: