星环科技CTO孙元浩:统一、廉价、实时、融合,2015大数据趋势

29 篇文章 0 订阅
26 篇文章 0 订阅

星环科技CTO孙元浩:统一、廉价、实时、融合,2015大数据趋势


allowtransparency="true" frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2014-12-13%2F2823115&type=3&count=&appkey=&title=%E6%98%9F%E7%8E%AF%E7%A7%91%E6%8A%80CTO%E5%AD%99%E5%85%83%E6%B5%A9%E7%9A%84%E6%BC%94%E8%AE%B2%E4%B8%BB%E9%A2%98%E6%98%AF%E2%80%9C2015%E5%B9%B4%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF%E7%9A%84%E6%BC%94%E8%BF%9B%E8%B6%8B%E5%8A%BF%E2%80%9D%E3%80%82%E6%9C%9F%E9%97%B4%EF%BC%8C%E4%BB%96%E5%88%86%E4%BA%AB%E4%BA%86Spark%E7%9A%84%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%EF%BC%9A%E5%85%A8%E7%90%83%E5%B7%B2%E6%9C%89%E8%BF%9150%E5%AE%B6%E4%BC%81%E4%B8%9A%E5%9B%B4%E7%BB%95Spark%E6%8F%90%E4%BE%9B%E4%BA%A7%E5%93%81%E5%92%8C%E6%9C%8D%E5%8A%A1%EF%BC%8C11%E5%AE%B6%E6%8F%90%E4%BE%9B%E5%95%86%E4%B8%9ASpark%E7%89%88%E6%9C%AC%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1418608763922" width="22" height="16"> 摘要:星环科技CTO孙元浩的演讲主题是“2015年大数据基础技术的演进趋势”。期间,他分享了Spark的一个数据:全球已有近50家企业围绕Spark提供产品和服务,11家提供商业Spark版本。

【CSDN现场报道】2014年12月12-14日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中科院计算所与CSDN共同协办,以推进大数据科研、应用与产业发展为主旨的 2014中国大数据技术大会 (Big Data Technology Conference 2014,BDTC 2014)暨第二届CCF大数据学术会议在北京新云南皇冠假日酒店盛大开幕。

星环科技CTO孙元浩的演讲主题是“2015年大数据基础技术的演进趋势”。期间,他一共总结了四大趋势:SQL on Hadoop技术对SQL支持的完整度和性能大幅提升,混合架构将逐渐消失;从In-Memory Computing 转向 On-SSD Computing,固态盘将替代内存作为缓存;数据产生的速度以及处理的速度要求都在快速提高,实时大数据技术得到关注;虚拟化技术的快速演化与Hadoop技术的日益平台化,云计算与大数据终得融合。期间,他分享了Spark的一个数据:全球已有近50家企业围绕Spark提供产品和服务,11家提供商业Spark版本。

以下为演讲实录

孙元浩:

谢谢大家,谢谢张教授,我今天演讲的题目是2015年大数据技术的演进趋势,过去我们一直从事大数据实践,有一些心得跟大家分享一下。我们做了明年的预测,邀请大家一起验证。

第一个趋势是随着Hadoop快速技术的发展,完整程度核心提升我们认为混合架构逐渐逐渐开始消失。

这里我解释一下为什么出现混合架构,在过去几年当中Hadoop这个技术最早开始互联网公司使用,九年十年之前开始发展,几年前互联网公司在企业里面用得越来越多,它处理结构化出去和半结构化数据非常有利,但是处理结构化数据的时候不完整,用户觉得应该还有关于数据库,或者MPP数据库放在Hadoop方便协助处理非结构化的数据。第二个原因Hadoop开发的过程为TB级别,几百TB数据设计的,但是数据量小的时候,小于100T或者到10个T以下的时候,大家发现Hadoop的性能不如传统的MPP数据库,这样大家觉得开始使用混合架构,把部分数据放到MPP数据库进行计算,还有把实时数据放到MPP放入数据库,把内容数据放到Hadoop里面,这个数据量积累很大的时候再让Hadoop计算,这是混合架构典型的部署方式。

我们看到过去的三年过程当中Hadoop发展非常迅猛,很多公司快速做SQL开发,这个性能也有提升。我们总结了一下市场上大概有四种SQLHadoop的技术,我是说Hadoop系统里面原生开发SQL引擎的公司和技术。第一个是Impala,它的引擎采用类似于MPP的引擎。第二家是Tez,它吸收了MapReduce的一些设计思想。这个产品是2012年大概五六月份开始成型。第三个我们公司的产品我们叫做Inceptor,这是基于Spark开发的引擎,我们去年10月份是第一个版本,目前支持SQL2003,支持函数、游标等功能,我们SQL完整程度目前是所有Hadoop里面支持最完整的。同时,还有 SparkSQL和Drill。四类引擎每一个发展独立技术。Spark会成为一个主流。我们可以支持所有的测试机,用来衡量数据仓库的执行性能的,里面大量的非等值交易这些语句,这使SQL引擎支持比较有难度的。

我们第一个做了判断混合架构会逐渐的消失,过去MPP数据库有三个优势,第一个性能完整,第二个它比Hadoop性能高,我们看到现在Hadoop性能超过MPP若干倍。第三个优势就是说它上面的DBA工具,外延工具非常全,在Hadoop系统DBA工具越来越丰富,一些新兴的创业公司在Hadoop上开发完整的DBA工具,这些工具原生支持Hadoop的,从这个来讲Hadoop的DBA工具超过传统MPP数据库的功能。

我们觉得在未来一年两年之内,逐渐逐渐Hadoop取代MPP数据库,大家不需要用混合架构,不需要在不同数据库之间实现迁移了。有人说我MPP也在转移,慢慢向Hadoop靠拢,整个MPP的数据库在慢慢消失完完全走到Hadoop上面来。我们希望最后结果就是数据全部放在Hadoop上,不管数据在几个GB级别还是10个PB级别都可以在Hadoop上处理真正做到无限的线性扩展。

我们发现一个事实现在Spark成为最受欢迎的计算机引擎,Spark已经开发了三年时间,框架性能不适合批处理,通过Spark引擎我们证明新引擎性能可以超过MPP数据库。从今年开始Hadoop的社区发展非常快速,从今年六月份的时候Spark上原来Hadoop开始全面支持Spark,我做了简单的统计,全球已经有50家企业围绕Spark提供产品和服务,其中有11家提供商业的Spark版本,这是这里面所有的11家公司,我们也是认证的Spark发行版厂商。

第二个趋势过去大家谈内存计算谈高效迭代计算,当时大家觉得这是非常好的方向,当数据发生内存我们尽量缓存,内存速度是磁盘百倍到千倍,我们把这种技术应用到现实当中发现,内存容量和价格是不能比较大的限制条件,把所有数据全放内存的时候,像Spark,和Hadoop都是java写的,内存大的时候,集成影响非常严重的,我们能不能用更好的方式缓存这个方式,随着硬件技术的发展我们发现内存可以被大容量的SSD取代做缓存,这个也是非常明显的趋势。

这张图列出了SSD硬件技术的发展,最底层是硬盘,现在SSD有几个量级的提升,我们拿市场上英特尔P370的数据,读性能是每秒钟46万次,是硬盘的一千倍,吞吐量是硬盘10倍以上。还有一些厂商把SSD插在内存卡槽,做成内存条的形式。目前做的性能不如P370,未来性能会逐渐的提升。SSD的内存相比性能对比显得没有这么大,因为吞吐量内存的数据是8.5G,PCI的到2.8G也就是只有三四倍的差距,SSD已经开始向内存接近,同时这个价格也在迅速下降,SSD公司在中国市场非常多,整个价格下降非常明显,今天中国市场可以以一万块钱到两万块钱买1T的SSD,如果你买内存条只能买128G的内存条,我们认为用SSD替代是比较好的方案。这是我们一组数据,把数据放在磁盘、内存条和SSD上的对比。第一个我们发现我们把数据放在磁盘把性能作为1的话,我们发现内存的性能仍然是最高的,蓝色的线是数据放在磁盘的统计性能,放在SSD性能跟内存上比较接近的,我们比较看到每一个场景波动发现性能差距基本上在有的在最多是30%,平均性能差异是9.6%,控制在10%以内,你可以以十分之一的价格达到内存只差1%的性能的产品,你原来放在内存里可能只有打败几百G或者几个T的数据,现在你可以把几十T的东西放在SSD上进行数据分析。Hadoop2.6提出来一个概念,我在HD上提供几层,一层是磁盘层,一层是SSD层还有内存条层,我可以制定你文件放在哪个层上面,以128兆决定放在哪一层上面,是不是我性能迅速提升,我们很快发现其实没有那么简单,Hadoop是最早为大容量低速磁盘设计的,SSD比普通磁盘大10倍,它随机访问性能是磁盘的一千倍,你不能利用随机访问性能。你的提升不会像硬件指标这么显著。我们试过ORC格式,我们觉得这里有两个趋势,第一个趋势用基于磁盘Hadoop慢慢开始为SSD做优化,未来会有更多的优化针对SSD专门做的。第二个趋势内存数据库这样厂商也开始觉得内存不够用,我不可能所有数据都放在内存里,我可能是几十T的数据我需要大容量的介质,SSD是理想的替代,有很多厂商觉得他的数据库要专门为SSD做优化。我们做一些数据,以前Spark把数据放在内存里,我们首先把数据从Spark当中剥离出来,放到一个外部的介质上面。然后放到SSD上进行存储编码压缩,这里面采用了我们自己专业的编码技术一些架构实现当然也有一些索引在上面,做了这个改造以后性能有比较大的提升。有一个测试对比我们比较四种组合情况,一种是基于磁盘文本格式的,第二种在SSD运行TBDS的部分结果,我们选TBDS部分的场景,有的场景是CPU密集型的,磁盘性能可能不一定进行提升,我们选一些IO场景来测。大家很快发现如果我不改变文件格式,同样文件放在磁盘和放在SSD,它的性能最高提升了1.5倍。我们两三年前做过测试我们把Hadoop的机群换成SSD,性能提升大概是40%,把这个数据变成ORC格式这个性能确实有助于提升,我可以过滤很多数据,可以充分高SSD的性能,这个性能额外得到了2.7倍的性能提升。但是这个不够还没有完全发挥SSD性能的优势,所以我们采用我们存储格式的时候,我们采用编码方式也有点与众不同,用了这个存储格式以后比ORC再提升,可能提升五倍到十倍左右,如果采用新的列式存储方式,我们性能比磁盘快8到10倍,更多软件专门利用SSD的这种特性。

第三个趋势随着现在传感器网络、物联网的发展,数据产生的速度越来越快,当然在互联网里面早就有物联网数据产生,使得实时大数据的技术慢慢开始得到更多的关注,我们预计明年有更多的应用。

怎么来处理实时数据和历史数据。提出了Lambda Architecture的架构。进入一个流数据系统进行检测分析,同时进入Hadoop,全量数据放在Hadoop对历史数据进行分析,两者结果做融合,然后应用程序访问这个做分析。今天为止没有哪个技术既能处理实时数据又能处理大量历史数据,所以提出这样一个混合的架构,这个混合架构受到很多人的追捧。这种架构实时数据流里面处理完之后仍掉了,只把结果放在里面,也就是我不能对实时数据进行随机的查询,这是第一个问题。我把随时数据和历史数据分离我怎么形成统一的视图,怎么最后拼接起来,这是比较难的事情。第三个这个Serving DB可以完成快速查询但是不能做统计分析。这三个弱点很快大家意识到了,很快大家想出一个办法,有一个项目,这个项目大家得到比较多的关注,现在雅虎采用这种实时数据分析。解决两个问题,把实时数据和历史数据全部拼接起来变成一张视图,它内部把实时数据离线的收集起来拼成一个视图分析。它解决快速采集的问题,但是它还不能完成复杂统计和挖掘的问题。比较理想架构我采用最好是我数据经过流处理以后我直接进入一个数据库,这个数据库可以完整把实时数据和历史数据拼接起来,这上面既做高速查询又能做迭代分析,这是比较理想的,这样我可以省去维护两套架构的麻烦,而且我既能对实时数据进行分析,又能对历史数据进行分析,这是比较理想的架构,现在大家想有什么实现的方法。我们做了一个尝试,我们尝试其实是在我们应用技术国内各个行业的时候发现普遍的问题,这个驱动来自于交通流的实时分析,如果我们部署整个机群的时候,他们希望看到早高峰晚高峰任何一个时刻每个路口的实时状况,一旦发生交通事故,某个地方产生拥堵会有连锁反应的,产生连锁反应我快速分析这种情况,这种情况用刚才的做法也不能实现,我们开发分布式的缓存,存在内存或者是SSD上的,当实时数据流到里面去的时候,我们先SparkStreaming,这是一个批次系统,可以短到一百毫秒,再小的现在还不能实现,本身框架比较长,这个进入Spark内存以后同时我在上面可以做非常多的实时的检测甚至是实时的挖掘,同时这个结果以及原有数据我们做一个SQL转化,转化成一个历史存储。过去我们可以放在内存里,但是内存容量不够我们全量数据可以放到SSD,我们支持快速插入,这样我可以把所有实时数据包括历史数据可以全部缓存到SSD上,这个机群可能是10个节点20个节点,你可以存放几年交通数据,这样我可以对历史数据和实时数据进行很完整的分析,这个转化也是非常快的我们支持高速的数据插入,这个数据持久性也得到保证,因为我在SSD上,即使掉线也没有问题。解决三个问题,第一个我可以有一个统计视图,不管是历史还是实时都有,我可以做任意复杂的分析。还有一个问题没有解决,如果我把这个数据给在线用户访问这个数据并发度不够,这个需要占用很多的CPU,一方面我们尽量降低查询的延时,另外我们需要扩大机群,这个很好解决交通行业面临的问题,这个问题蛮普遍的,不光是交通行业还有视频网站点击日志,我们可以用这个方式做分析,我们可以对传感器的数据,工厂里炼油厂传感器的数据进行快速的分析,而且传感器的数据全部在一张网里面。我们觉得在未来会发生较大的变化,也会有新技术实现这种理想的体系架构。

第四随着虚拟化技术快速演进,我们说云计算和大数据终于可以融合起来了。

虚拟机帮助快速部署已经得到了时间的验证,但是谈得这种方式把一台机器拆分到很多小机器,每台机器给用户使用。他觉得一台机器不够,我需要上千台、几百台机器组成一台机器处理。这个怎么融合起来,是不是我把虚拟机替代物理机做成了一个机群,这个尝试基本上都是失败的,因为IO的瓶颈是非常严重的,特别是在虚拟机跑大数据应用,CPU利用获得99%,很少有人在虚拟机上把CPU用到99%,这样对开发商有很大考验。我们看到首先第一个快速发展,他们之间可以做资源隔离,这使得我虚拟机变得非常轻量级。很快一家公司叫做Docker发现应用打包迁移安装还是不方便,所以做了一个工具,使得你做打包迁移非常容易。大家发现还不大够,因为我要创立一个应用,一个单个肯定应用比较容易,但是多个肯定应用比较麻烦。谷歌开发一个开源项目叫做Kubernetes简化创建机群的任务,你可以非常方便的创建Hadoop机群,也可以创建传统的应用,提供多肯定机群的部署同时也通过一些技术服务,比如说一些调度服务,这开始具备分布式操作系统的雏形。另外一个方向像大数据领域去年推出Hadoop2.0资源管理的框架,这个确实是革命性的,因为把资源抽取放在最底层上面,在上面可以跑多种框架,我们觉得可以一统天下了,大家发现YARN资源隔离做得不够好。把Cloud Computing做资源的调度,Cloud Computing内部有Docker进行资源调度。

大家看到在这个领域过去一两年发生了革命,从底层虚拟化技术到上层都在发生非常大的变化。这个自然引出数据中心操作系统的概念。我们把数据中心操作系统分成三层,最底层一层就跟操作系统内核是一样的,我方便的创建方便销毁,对CPU资源网络内存进行处理。我们需要多个服务之间能够发现这种机制,这种机制是目前还是缺乏的,我们需要在这一层继续往上加一些技术服务。再往上是平台服务,我们可以创建Hadoop、Spark等我们可以部署这样传统应用。这种架构提出来我们发现现在市场上有几种,两个技术方向,我们不知道哪一种获胜,但是我更倾向于下一种。把它作为跟分布式架构同一个级别的。另外一个技术中心把调度器实行自己的调度。我对上面能够提供各种服务,包括Hadoop生态系统的各种服务,这个可能是明年的主流趋势,现在还很难判断谁会获胜,我们可以首先尝试这两种方案,看哪种方案更有生命力。

总结一下就是我们把明年的发展趋势归纳成四个,一个混合架构消失,第二个我们发现SSD慢慢替代内存作用缓存因为性价比更高。第三实时大数据技术得到广泛关注,第四云计算与大数据终于可以融合。大家可以去外面展台看看我们新版本,有兴趣的也可以加入我们公司。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值