软件:

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的情况下,数据会复制一份,容量增加一倍。

oracle vertica性能对比,测试Vertica性能相关推荐

  1. Struts2、SpringMVC、Servlet(Jsp)性能对比 测试 。 Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照...

    2019独角兽企业重金招聘Python工程师标准>>> Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考 ...

  2. SPEC测试arm服务器性能,SPECJVM2008测试处理器性能_服务器评测与技术-中关村在线...

    首先,我们使用SPECJVM2008测试最新至强E5处理器的虚拟化性能. SPECJVM2008是一种通用的多线程Java基准测试工具,它能够反映JRE(Java Runtime Environmen ...

  3. MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

  4. PHP7+Swoole/Nginx/Golang性能对比

    QPS对比 使用apache bench工具对Nginx静态页.Golang Http程序.PHP7+Swoole Http程序进行压力测试.在同一台机器上,进行并发100共100万次Http请求的基 ...

  5. 数据库中使用自增量字段与Guid字段作主键的性能对比(补充篇)-----转

    我在发表过"据库中使用自增量字段与Guid字段主键的性能对比"这篇文章后,得到博客园各园友的很多评价,大家对我的测试方法也提出一些改进的方法.让我吃惊的是一园友提出:把guid和i ...

  6. PHP5.5四种序列化性能对比

    2019独角兽企业重金招聘Python工程师标准>>> 结论: 1.小数组用msgpack,无论空间和性能都最好 2.大数组,考虑空间用igbinary,考虑性能用msgpack j ...

  7. Go字符串拼接的方式与性能对比

    一.Go中字符串的特殊之处 Go中的字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节).由于该编码对占用字节长度的不定性,Go ...

  8. Nutanix 替代专题 | SmartX 与 Nutanix 超融合市场、技术与性能对比

    2022 年 8 月 19 日,Nutanix(路坦力)宣布中国市场自 2023 财年起将转型为合作伙伴销售主导模式,引起了广泛关注:同时结合当前 IT 基础架构的国产化趋势背景,不少正在使用和考虑使 ...

  9. springboot2.0 默认数据连接池HikariPool(java平台最快的,替换druid)性能对比

    背景 对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池 . NOTE: 本文所有测试均是MySQL库 测试结论 1:性能方面 hikariCP> ...

最新文章

  1. 深入Java虚拟机读书笔记[10:20]
  2. ip别名删除第一个,其余别名就自动删除的分析
  3. 年终收藏!吴恩达盘点2020年度AI热门事件
  4. Vmware下Centos7安装预览
  5. 修改sga后oracle打不开的解决方法
  6. 区块链基础知识系列 第一课 区块链网络简介
  7. Artifactory——启动错误[Artifactory failed to initialize: check Artifactory logs for errors.]解决方案
  8. 【chrome错误】Cross origin requests are only supported for protocol schemes: http, data,chrome-extension
  9. macbook不能进系统 备份数据_不基于备份和表,生产系统数据误删就能完全恢复?!...
  10. linux操作系统的体系结构
  11. rabbitmq消息保证幂等的消息设计
  12. Linux 命令 find / -ctime +1 真的是查找1天前创建的文件咩?
  13. centos 7 更换yum源
  14. Fedora17下安装OpenCV2.3.1[转]
  15. python中的进程(二)
  16. linux 端口映射设置
  17. php爬虫框架选用什么
  18. 2021-10-27 turtle 绘画创意图形(梅花)
  19. 81章 老子1章到_国学经典《老子*道德经》全文及翻译(全文共81章)。(此第7部分:61-70章)...
  20. Overlay在PYNQ 2.0中的变化以及如何有效地使用它

热门文章

  1. SAP CRM product customizing下载的第三个队列
  2. Equipment upload - ERP ACK
  3. Navigation execution entry point
  4. view controller lifecycle discussion - onInit
  5. 服务器检测到客户端退出或崩溃后,如何优雅地做出反应
  6. 使用Cordova将您的前端JavaScript应用打包成手机原生应用
  7. 中leetcode提示未登录_分享一款将 LeetCode 中 AC 的题目转化为 MarkDown 表格的插件...
  8. 陈震学的什么计算机专业,一起来看看陈震学长为我们分享的前沿技术发展趋势及自己的思考吧!...
  9. Hive更换TEZ引擎
  10. Linux命令工作中常用的总结