【干货】听HPE Vertica技术大咖,谈谈大数据和MPP高效的计算框架(下)

如果您已经看过上期的内容,一定对大数据和HPE Vertica有了更为深刻的认识。接下来,我们就趁热打铁,继续为您带来刘定强先生关于大数据和MPP高效计算框架的分享。

Vertica,关系型数据库

Vertica是HPE一个重要的大数据产品,它的本质是一个MPP架构的关系数据库。对比以前的Oracle、SQL Server、DB2,Vertica在功能上没有什么差别,但是它专注于大数据的分析,尤其是准实时的分析。

尽管它在功能上跟传统数据库相像,但是它在具体技术细节的实现上有较大差异。它既可以部署在物理机器、云平台上,还可以作为SQL on Hadoop方案部署在Hadoop平台上,提供完整、高性能的关系数据库服务。

在MPP架构基础之上,Vertica采用列式存储和计算的方式来大幅度的降低I/O,所以它既能够处理TB~10PB这样量级的数据,也能够提供高性能的处理和运行计算。同样情况下,它和Oracle这样传统的行式数据库相比,处理速度可以提升上百倍甚至上千倍;

Vertica还提供供自动优化的工作来辅助开发人员和数据库管理人员去做数据库的优化,使得其更好地完成数据的分布以及数据的排序和压缩。因为在MPP列式数据库里面,并行计算是把算法推到了离数据最近的地方以提供更好的性能,而不是像常见的Hadoop或Spark将数据拉到每个结点去做计算,这是二者的区别。

在Vertica数据库中,因为算法已经用MPP的方式实现了,我们可直接在数据库引擎中进行模型的训练及验证,像执行简单的分析统计函数一样去做模型的训练、验证、管理就可以了。

而Vertica整个数据库,对外是使用SQL进行支撑的,所以可以执行SQL的地方就可以做所有的事情:可以使用SQL去并行地处理数据;无论是半结构化数据还是开放的列式存储格式的数据都可以处理。

在Vertica中,借助HPE的IDOL把文本、视频、音频这样的数据做增强后纳入到数据库当中,同时也是使用标准的SQL进行分析和查询以及数据处理,可以通过ODBC、JDBC、ADO.NET等主流的接口去使用。所有这些标准、主流的接口都可以在Vertica当中使用。

Vertica,开放的生态圈

从Vertica生态圈中,我们可以看到,Vertica并不是一个生态的破坏者,它是采用一种开放的架构与其他开源或者商业的产品去做整合。

对于基础平台来讲,我们可以在x86的服务器上跑,也可以在云平台上跑,还可以在主流的Hadoop发行版本上去跑。

从接口层面上讲,通过SQL,基于标准ODBC,JDBC,ADO.NET的传统的BI工具、分析工具、新的自助分析工具以及商业的开源分析工具,都可以直接和Vertica无缝整合。

所以在传统的企业架构里头,只需要将传统数据库替换成Vertica就可以得到大数据的分析和处理能力。

Vertica,久经市场验证

自2005年成立到现在,Vertica已经有十多年了。这十多年当中Vertica的发展是非常迅速的,无论是在传统的通信、金融、能源还是新兴的在线网站、社交媒体和游戏等均有很多的客户。

初创公司

重点就在于,Vertica可以给这些客户提供很好的数据分析以及处理能力,使他们快速地演进到大数据平台的分析架构上来。而且Vertica的扩展能力可以保证我们的企业从很小的规模到很大的规模都是完全可控的,它的处理能力是线性扩展的,并且使用成本也是完全可控的,3个节点可以处理20~30个TB的数据,当数据量达到PB量级,五六十台机器也是可以处理的,所以Vertica的成本完全可控。

Vertica深得国外初创型社交媒体以及游戏的初创公司的喜爱,因为运行之初不用投入太多成本就可以保证企业将来的发展,不受架构的制约。

成熟用户FaceBook

我们也有很多的成熟客户,比如全球最大的社交媒体FaceBook。FaceBook是开源平台重要的贡献者,在Hadoop,MySql生态中做了很多贡献,比如Hadoop中的Hive就是FaceBook开源出来的,但是FaceBook在做营收分析、用户行为分析以及广告效率分析时往往有更高的时效性要求,它发现用Hadoop解决起来有些困难,所以它采用了HPE的Vertica去支撑它时效性较高的这些数据的分析。

FaceBook当中,最大的Vertica单一集群超过了三百个节点,数据量超过6PB,每小时可处理的数据量为30TB~40TB,时效性为5min~10min,来帮助其上百个分析师完成高效率的在线数据分析。

这是目前为止Vertica在全球范围内最大的部署。

在传统的行业中,例如通信行业,我们有相当多的应用。

美国最大的通信运营商AT&T

美国最大的通信运营商AT&T是Vertica的重度用户,除了传统的运营分析使用了Vertica,在网络领域当中也采用了Vertica进行网络优化以及网络设备的管理等这种时效性较高的数据处理和分析,在网络领域它有超过3PB的集群。

Vertica为它带来的好处,不仅仅是节省了费用,更重要的是分析的时效性有了很大的提升,可以真正做到5分钟网络优化的分析要求。

美国最大的信用卡风险分析平台

在金融行业当中,08年的次贷危机发生之后面临的问题就是风险越来越大,信用卡的使用风险突然变得很高,次贷危机发生之后各行各业的压力都很大,那么各种各样的风险也都随之而来,而这些新的风险模式是很难提前去预估的,传统的基于一体机的模式就很难去支撑这种情况,因为它事先需要去做很多汇总才能去做风险的事后管控分析,由于风险探测模式在不断的变化、数据的汇总模型变更不可能有这么小的周期,这个时候就要求的时效性要更强,需要运用更好的技术。

这个时候使用Vertica,可以完成时效性最高部分的风险分析要求,它可以做到使用88个x86的节点做到1~2个PB数据的管理和分析,把原来需要两三天才可以做出来甚至做不出来的数据的管理和分析,现在使用Vertica15分钟可以做到。这样可以很方便的在不改变大的生态的情况下只通过数据库的替代快速演进到大数据的架构当中。

在最近这几年,Vertica在国内也涉及了很多领域的应用,无论是三大运营商、国内的若干家银行还有一些其他的第三方支付机构以及其他的行业,比如零售业、互联网广告业等领域,Vertica的应用也很丰富。

问答环节

以下是刘定强先生关于本次网友提问的精彩回答:

Q1:在Vertica中mergeout之后插入行和更新的行在什么log或者table中能够看到?

A:这位同事应该是已经体验过Vertica或者正在使用Vertica了,在Vertica中我们除了使用MPP和列式架构去做数据的快速处理和分析以外,我们也提供内存的优化,当读小批量的数据时,比如每秒钟或者每十秒钟的数据的装载和处理,它会是优先进入到内存的区域然后过一段时间后自动成批的放到磁盘里头,这个过程在Vertica中称作moveout,moveout执行之后也会自动在系统闲暇时把这些小文件合并成大文件。

Vertica中通过打标记的办法,在数据修改的时候并不把原来的一行数据删掉而是采用打标记,标记成已经删除掉了然后再追加一条数据,通过这种增量的数据存储的办法来提升列式数据库的数据修改和删除的性能,merge过后就可以扔掉这些数据了所以无论是插入、修改还是删除的数据在Vertica这个关系型数据库中事务一旦提交就是最终状态了。

如果想看之前状态的数据,只要这个数据没有被扔掉,在Vertica中有一个时间窗口,可以在此设置数据的留存状态,例如设置成1小时,1天等等,可以设置一个快照点进行数据的查询,但是在缺省的Vertica中它是不保留的!

Q2:Vertica与Greenplum以及Cassandra相比有什么优势?

A:在大数据这个市场当中,有很多定位不同的产品供大家选择,如果做小量交易类型的数据时,除了传统的oracle数据库以外Cassandra这样的NoSQL是一个不错的选择,它通过牺牲一些分布式事务或者SQL的一些能力来支持更好的扩展能力,像Mongodb,HBase也是不错的选择,但是他们的定位都是小量数据的插入、查询等,而不是做数据分析的;

Vertica和Greenplum的定位是在分析领域上,Vertica和Greenmplum相像都是mpp的数据库,不太一样的地方在于Vertica是从06年第一个版本出来的时候它就是一个纯列式的数据库,而且它的所有节点都是完全对等的,不需要专门的节点,另外它定位在分析性能以及时效性比较高的场景上;Greenplum一开始的定位是批量数据处理,采用一个主节点(它含有一个主节点,这点上和Vertica不同)去协调其他节点的任务,定位不同是指Greenplum一开始用MPPx86这样的技术去代替传统的像TERADATA,DB2这样的数据仓库,它不是定位在时效性很高的分析性数据库上,所以在大数据的分析平台上处理一些准实时的数据时Greenplum的能力还是弱一些的。

Q3:MPP架构与各种SQL on Hadoop架构的根本区别在哪里?优点和缺点各是什么?

A:Hadoop刚开始的时候是没有SQL的,因为大家喜欢SQL、离不开SQL所以后来有了SQL on Hadoop。SQL on Hadoop的本质不是一个数据库,一般数据都是使用不同的存储格式例如Parguet/ORC放在HDFS上,SQLon Hadoop是不管数据的,所以通常情况下SQL on Hadoop就是一个SQL引擎,具有SQL解析和初步的优化能力。

Vertica是一个MPP数据库它本质上是一个数据库,数据库的特点就在于有自己的存储引擎、执行引擎和优化器,这三个是紧密耦合的,这是和SQL on Hadoop不太一样的地方。

在SQL on Hadoop这个生态上有的人已经把它朝着MPP数据库上去做,比如Impala之前是没有自己的存储格式的,后来他发现这样对自己很吃亏,需要提供更高的性能或者提供给更好的管理能力的时候在HDFS上做太差,所以他推出了自己的存储格式Kudu。

所以SQL on Hadoop这个生态可能再过5、6年有的产品就会和MPP数据库差不多了,但是在SQL on Hadoop这个开源领域里,大家更会去强调各个组成部分之间的独立性,一旦组件之间是一个松散的耦合,可能就会付出很多性能方面的代价,所以这可能是二者之间比较大的一个差别。

Q4:您从业这么多年可以简单聊聊您对这个行业的看法吗

A:IT这个行业是一个非常年轻的行业,从计算机诞生到现在差不多六七十年的时间,这个行业不一定适合所有人,但是从我的体验看来如果你是一个有激情、乐于挑战的人,那么我觉得这个行业一定是值得你来的,这么多年来从很小规模的应用到层出不穷的互联网、移动互联网到现在的大数据以及A,一步一步下来有非常多的机会当然也有非常多的挑战,如果你愿意迎接这些挑战,那么你也会有非常多的机会,这是我的看法。

Vertica是一个上手非常快速的MPP列式数据库,如果拥有Oracle、Mysql等这样数据库的使用经验,再使用Vertica是非常简单的。我们提供社区版本供大家免费的体验。此社区版本可以支撑三个节点,只要数据量不超过1TB即可。

即可免费体验Vertica,欢迎大家的试用。

相关阅读:

HPE Vertica

更灵活的分析引擎,助您快速查询数据

HPE Vertica,适用于包括硬件、虚拟机、云在内的各种运行环境。同时,Vertica易于安装和部署,能满足您的各种业务需要。欢迎您的试用!

号外号外,Vertica China中文网站开!通!啦!

丰富的案例介绍

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值