ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:261.57KB ,
资源ID:997340      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/997340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vertica列式分析数据库汇总.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vertica列式分析数据库汇总.docx

1、vertica列式分析数据库汇总 0 Table of ContenTsvertica简介vertica试用o数据装载oDML操纵o查询分析o集群o增量加载案例测试小结与心得vertica简介1.vertica是一种整合了MapReduce能力的商业化数据库2.基于列的存储架构,高效的数据压缩能力3.基于Shared nothing架构,高度灵活的扩展能力4.集成的高可用性,采用分布式集群,支持大规模并行处理5.支持混合存储模型,高速装载和高速查询可同时进行6.与主流db和bi工具无缝集成,是dw的超级加速器7.符合工业标准,支持SQL,ACID,JDBC,ODBC,可与流行的ETL工具集成v

2、ertica试用在一台普通的赛扬d单核、内存2g的pc机上对oracle10g和vertica5进行了一些简单的对比测试,测试数据量约500w+数据装载oraclevertica加载方法SQLLOADERLOAD SCRIPTS耗时约 6mins1min20scpu使用约15%约100%OSwindowslinux平台物理机虚拟机两者在平面文件导入方面看,有明显的差距,vertica的效率大约是oracle 的4倍左右,并且vertica在cpu的使用上已经满负荷了,测试机上的cpu性能可能也限制了vertica的发挥,按照官方公布的数据,早在2008年12月,HP 和Vertica 一起工作

3、打破了一下数据仓库数据加载的世界记录,在57分钟21秒的情况下加载了5.4TB的数据进入Vertica数据库,系统运行在HP的C7000刀片机架上。所以我们完全可以相信vertica在数据装载方面的性能是非常出色的,只要cpu足够强劲。需要注意的是,vertica和oracle都不支持增量装载,一个平面文件只能全量装载。ps:oracle在数据传输上,效率最高的是表空间传输技术,其次是数据泵+外部表(数据格式为二进制)技术,最后才是sqlload,不过由于前2种技术依赖的文件格式是oracle独占性的,并不具备通用性。DML操纵oraclevertica操纵语句insertinsert耗时19

4、.9s约2minscpu使用约15%约20%在dml语句使用上,vertica和oracle表现出的性能与数据装载测试中的效果恰好相反,这是列式存储的架构决定的,行存储架构下,一行记录存储在连续的数据块上,而列架构则是在连续的数据块上存储多行的同一列,这就造成了在列存储架构下一行记录不能顺序写而只能离散写。sybaseiq同样存在这样的效率问题,如果存在较复杂的ETL时,那T环节的实现方案可能需要仔细考虑。查询分析案例1sql如下:select count(*) as B5from Cfcs_B1_All aleft join DIM_T_HY1 bon (a.HY_DM=b.HYW_DM)w

5、here (b.HYML_DM = 02)oraclevertica耗时约4s约2scpu使用约10%约100%案例2sql如下:select sum(a.zb1) as B2,1 as A2from Cfcs_B1_All awhere (a.HY_DM LIKE A%)oraclevertica耗时约3s约1scpu使用约10%约100%从两个查询案例的测试结果来看,vertica在测试中表现出的效率大约高出oracle一倍,当然oracle通过创建索引也能将查询时间缩短到与vertica相差无几,不过我们也要考虑到测试的台式机cpu已经是vertcia发挥的瓶颈。测试的目的不是为了证明v

6、ertcia的速度是oracle的2倍。而是有助于我们想象当数据量上升到tb甚至pb级时,当cpu性能或者集群性能足够好时,基于Shared nothing架构可无限扩展集群节点的vertica所表现出来的性能。集群测试环境不具备,缺少vertica安装程序(rpm包),未做测试不过从vertica的文档和试用感受来看,它的集群部署应该比较简单(比oracle简单得多)增量加载案例测试模拟一个增量加载的例子,假设一张事实表为月度主题表,里面已存有3年的历史数据,总计约500w+,每天跑批量增量加载当月的最新数据,加载前先删除当月的旧数据,再加载新数据。我们来看看在oracle和vertica下

7、的测试结果oraclevertica报表期月度月度数据量约15w约15w占全表数据比率约3%约3%总耗时26.7s3.9s其中:delete当月数据15.7s2.6s其中:load加载11s1.3s然后,我们将数据区间拉大到一年,增量加载一年的数据,再来看看结果:oraclevertica报表期年度年度数据量约180w约180w占全表数据比率约36%约36%总耗时178s21.8s其中:delete当月数据82s2.8s其中:load加载96s19s我的结论如下:1.不论是delete还是load,vertica的效率都比oracle高出好几倍2.对于delete删除操作,vertica表现出

8、来的性能不但稳定,效率也高,耗时浮动很小,而oracle的delete耗时随数据量的增大而增加3.完全可以预测在面对海量数据时,vertica在增量加载上的性能优势会更加突出PS:vertica在删除操作上表现出来的效率是我完全没有预料到的,我觉得有必要对两个db再进行一次update操作的测试,来看看他们有何区别。测试语句如下:UPDATE cfcs_b1_all t SET t.zb1=zb1-1 WHERE t.bbq_ LIKE 2007%这个update语句影响行数大约180w,以下是结果:oraclevertica耗时137s26s没有想到vertica在update操作上也有如此

9、好的表现,之前比较担忧在vertica上如何ETL,现在来看,这种担忧可能有点多余了。尽管insert操作,vertica的性能不是特别好,但这个环节可以通过平面文件加载的方进行替代,然后在数据库内执行update等数据清洗工作。小结与心得1.vertica有着高效数据压缩能力,数据量越大,磁盘越省2.数据装载具有巨大的优势3.专门针对数据仓库和统计分析环境,擅长聚集汇总类查询,尤其是大数据量甚至是海量数据4.不存储物理表,仅存储列,每一列都是一个索引,而传统数据库需要存储表,然后根据查询维护相应的索引,不仅磁盘开销增加,同时维护与优化难度加大5.基于Shared nothing架构的集群技术

10、,通过简单增加一些廉价的计算机可获取几乎无限的扩展,且数据分布在各个节点上,而传统数据库则不行,以oracle为例,通常采用rac或者dataguard技术,rac需要各节点都在同一个本地环境内,且节点过多共享锁竞争更严重,通常node都不超过2个,dg可以异地,但是各节点数据完全一致,都是全局数据,且只有主节点提供服务。oracle11g开始推出exadata,不过价格不便宜。6.部署维护简单,无需专职dba,oracle则不行,离不开dba的维护7.使用vertica的解决方案会更加便宜8.ETL可在vertica中实现,只要运用合理,了解vertica特性,对于效率不高的dml,寻找替代方法,一样可以保证etl的效率

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1