在大数据基础架构选型时,经常听到的一个说法是——“如果数据规模在TB级可以选择MPP架构的关系型数据库,如果数据规模上升到PB级则应该选择Hadoop”。但事实上MPP架构的关系型数据库与Hadoop的理论基础是极其相似的,都是将运算分布到节点中独立运算后进行结果合并。区别仅仅在于前者跑的是SQL,后者则是MapReduce程序。跑什么其实只是形式而已,是用户使用习惯,相对而言SQL作为数据库领域的事实标准语言使用更加广泛,从而限制住用户快速进入Hadoop大数据时代的步伐。
随着Web2.0、Web3.0、移动互联网、物联网等等事物的兴起,人们创造了更多的数据,收集更多数据成为可能,业务的需求促进了大数据技术包括Hadoop的发展。不少公司都在加快SQL开发,而星环科技则是其中的一员。星环科技CTO孙元浩在2015年第六届中国数据库技术大会(DTCC)上表示,随着Hadoop上SQL性能上及安全容错上的不断提升,Hadoop在未来两三年将会取代MPP,混合架构会逐渐的消失。
作为国内数据库与大数据领域***规模的技术盛宴,2015年第六届中国数据库技术大会(DTCC)在一场北京近年来***的沙尘暴中拉开了序幕。4月16日,大会***天上午,来自星环科技的CTO孙元浩给我们带来《大数据基础技术发展的两大方向和***研发成果》的主题演讲。
大数据基础技术发展的两大方向是什么?为什么会是这两个?星环科技在这两方面有那些研发突破?为何Hadoop能取代MPP,混合架构会消失?为何星环科技会与众不同,定位基础软件公司?星环的产品策略又是什么呢?带着这些问题,老鱼在会后专访了星环科技CTO孙元浩,就这些问题进行询问和解答。
老鱼:孙总,您好!一直听说你是个富有传奇色彩的人,今天终于见到真人了,先请您跟我们的网友打声招呼,简单介绍下自己和公司产品。
孙元浩:大家好,我是孙元浩,其实我的经历还是比较简单的,大学硕士毕业后加入英特尔,在英特尔工作了10年(曾任英特尔亚太研发有限公司数据中心软件部亚太区CTO)。2013年离开英特尔创业2年,也就是星环科技,从事大数据时代核心平台数据库软件的研发与服务。公司研发团队大多来自知名外企,员工的85%为研发工程师,以博士硕士为主。
我们的产品Transwarp Data Hub (TDH)是基于Hadoop和Spark的分布式内存分析引擎和实时在线大规模计算分析平台,相比开源Hadoop版本有10x~100x倍性能提升,可处理GB到PB级别的数据。星环科技同时提供存储、分析和挖掘大数据的高效数据平台和服务。
老鱼:您在演讲中提到Hadoop技术经过10年的发展,到目前为止还没有被大面积普及的制约因素有2个:SQL技术制约和弹性计算的需求没被得到满足,这2个因素限制了Hadoop的普及,解决这2个问题将成为大数据技术发展的两大方向。Hadoop普及涉及的问题有很多,为什么您觉得解决这2个问题会成为大数据技术发展的方向?能否给我们具体分析下?
孙元浩:这其实是过去几年,我们从市场上观察到的现象,Hadoop还没有被大面积普遍采用,障碍来自两个方面:
1、SQL on Hadoop的技术进展制约了企业原有应用的迁移以及新应用的开发;
2、Hadoop加速Docker化,企业在建设大数据平台或者Data Lake时,往往有多租户资源管控和弹性计算的需求,这些需求现有的YARN或者虚拟化技术没有满足。
***个方面,过去大家谈大数据,做一些数据挖掘的工作,但实际上企业更多的应用是在结构化数据的处理,主要用的操作语言是SQL,我们发现60%的Hadoop应用是用在SQL统计领域。
当我们把Hadoop运用到企业中去时,新应用有待验证,老应用其实已经出现了数据量很大,急需用Hadoop来加速的需求,但现在的问题是,客户想迁到Hadoop上,形成效率降低成本,却迁不过来!其中的关键因素是大量客户的SQL极端复杂,这种情况我们在运营商和银行都有发现,银行贷款风控SQL非常复杂,要完成迁移需要太多时间去改造,有些语法甚至没办法改造,因此SQL支持的完整程度比性能更加重要,没有这些语法支持,要想把现有应用迁移到Hadoop上来是不可行的。
SQL作为数据库领域的事实标准语言,相比较用API(如MapReduce API,Spark API等)来构建大数据分析的解决方案有着先天的优势:一是产业链完善,各种报表工具、ETL工具等可以很好的对接;二是用SQL开发有更低的技术门槛;三是能够降低原有系统的迁移成本等。因此,SQL语言也渐渐成为大数据分析的主流技术标准。而要想让SQL用户快速进入Hadoop大数据时代,就必须要解决这个问题。
第二个方面,也来自真实的用户诉求。我们有三分之一以上的客户要求把Hadoop跑在虚拟机上,但每次我们都只能无情的拒绝,因为Hadoop放在虚拟机上,性能瓶颈是非常严重的,稳定性很差,主要原因是因为传统的虚拟机是把一台物理机变成多个虚拟机,CPU负载很低。而虚拟机跑大数据应用, CPU利用往往达到99%,很少有人在虚拟机上把CPU用到99%,这个时候hypervisor就撑不住了,稳定性成为一个大问题,这也就阻碍了用户使用Hadoop第二个大问题。
因此,这2个方向都是我们希望帮助客户解决的,市场非常大,如果把这2个问题解决,我相信Hadoop在使用上就能再上一个量级。
老鱼:孙总,能否在这里给我们介绍下星环针对这2个问题,取得的***技术研发成果?
孙元浩:其实我们***技术研发成果都是被客户逼出来的,我们的研发成果是源于用户需求。有客户问我们,我这里有21万2千行的SQL你能不能跑?也客户有30几万行SQL,说你们Hadoop不是很牛吗?试试能不能跑?这迫使我们在2013年组织一个由编译器专家组成的团队,开发了一个Hadoop PL/SQL编译器,当时的目标是选择跟Oracle兼容,先把Oracle用户迁移过来,经过2年的发展,我们星环的Transwarp Inceptor实现了自己的SQL解析执行引擎,可以兼容SQL 99和HiveQL,自动识别语法,因此可以兼容现有的基于Hive开发的应用。由于Transwarp Inceptor完整支持标准的SQL 99标准,传统数据库上运行的业务可以非常方便的迁移到Transwarp Inceptor系统上。此外Transwarp Inceptor支持PL/SQL扩展,传统数据仓库的基于PL/SQL存储过程的应用(如ETL工具)可以非常方便的在Inceptor上并发执行。另外Transwarp Inceptor支持部分SQL 2003标准,如窗口统计功能、安全审计功能等,并对多个行业开发了专门的函数库,因此可以满足多个行业的特性需求。
老鱼:我们经常听到的一个说法,用MPP处理PB级别的、高质量的结构化数据;用Hadoop实现半结构化、非结构化数据处理。这样可同时满足结构化、半结构化和非结构化数据的处理需求。而您今天谈到一个观点,随着SQL在性能上及安全容错上的不断提升Hadoop会取代MPP,混合架构架构会消失!这个观点的依据是什么?
孙元浩:混合架构本身就是一种无奈而折中的选择,同时维护多个系统运维难度非常大。当初,Hadoop的诞生是为了更方便地处理非结构化数据和半结构化数据,但是处理结构化数据的时候功能就显得不够完整。用户还需要使用数据库或者MPP(大规模并行处理)数据库,协助Hadoop处理结构化的数据。另外,Hadoop是为处理几百TB和几PB数据而设计的,但是,当数据量小于10TB的时候,Hadoop的处理性能往往还不如MPP数据库。
随着SQL on Hadoop技术的快速发展,SQL完整程度的大幅提高和性能的提升,我们做的***个判断是混合架构会逐渐的消失,过去MPP数据库有三个优势,***个SQL支持完整,现在我们的SQL支持程度已经接近MPP数据库;第二个它比Hadoop性能高,但我们看到现在Hadoop性能可以超过MPP若干倍。第三个优势就是说它上面的BI工具,外延工具非常全,传统的BI厂商都已经转向Hadoop,Hadoop系统的BI工具也越来越丰富,还有一些新兴的创业公司在Hadoop上开发全新的BI工具,这些工具原生支持Hadoop,从这个角度来讲Hadoop的生态系统将很快超越传统MPP数据库。
我们觉得在未来一年两年之内,Hadoop将逐渐取代MPP数据库,大家不需要用混合架构,不需要在不同数据库之间实现迁移了。有人说我MPP也在迁移,慢慢向Hadoop靠拢,这也是事实,整个MPP的数据库在慢慢消失,完全走到Hadoop上面来。我们希望***结果就是数据全部放在Hadoop上,不管数据在几个GB级别还是10个PB级别,都可以在Hadoop上处理,真正做到无限的线性扩展。
老鱼:星环科技我理解是一个做基础软件(数据库)的公司,不知道这么理解对不对?为什么当初是这个定位?
孙元浩:你这个问题很好,现在有很多客户也问我同样的问题,客户把我们定位成一个大数据应用和解决方案的公司,是因为国内大部分大数据公司都是这种类型,其实我们定位是大数据平台,是做基础软件的。为什么要做基础软件?因为我们看到一个明显的技术演进趋势,从单机计算,多核计算到分布式计算,这个趋势是技术的潮流,是一次至下而上的架构革命,这种机会可能10年或者20年才能碰到一次,而这一领域正是我们擅长的,所以我们准备投入到这个领域。在中国,用户数众多,除了美国,中国企业的数据量普遍要多于国外企业一个数量级;中国企业的应用场景也非常复杂,很少有国外产品不经修改在中国能够不出故障地运行,因此中国也是需要这样一个大数据的基础软件公司,所以我们认为在中国市场发展的机会很大,这也我们在基础软件发力的原因。我们在中国也有很多的合作伙伴,开发着各种应用,我们也在建立生态系统。
综上所述,***,技术趋势在向这个领域发展。第二,市场环境对我们有利。第三、我们创始人和团队的技术储备和经验在这个领域很深厚。这就是我们创立星环科技的初衷,致力于提供优秀的大数据基础软件,来解决这些问题。
老鱼:做基础软件是一件非常难的事情,资金、人才、技术、规模等等要求都非常高,您在创业的是否有考虑过这些问题?
孙元浩:这也是个很好的问题,我们有思想准备。做基础软件确实是一个投入非常大的事情,动辄上千万上亿投入,才能把产品做好。如果我们去做应用,在大数据应用领域我们没有太大的创新点,也没办法去区别于其他公司,而基础软件是我们擅长的。
我们的目标并不是追逐短期内获益或者说是个人财富短期迅速增长,我们目标放的更长远,那就是要把这个事情做好。星环的大部分人都是从外企走出来的,大家放弃了高薪,唯一的目的就是想把这个事业做好。
做基础软件,人才一直是比较难解决的问题,不过创业型公司跟大型外企和互联网公司相比,我认为有几点还是比较有吸引力:
***、我们的工作是创新的前沿的,比较挑战性,这对技术高手是比较有吸引力的。
第二、员工激励,我们是全员持股,每个人都有公司期权,这跟在外企打工有很大不同,大家都是平等的,都是指挥官,大家一起奋斗。
第三,国内创业环境氛围很好,国家鼓励创新创业,对于人才的加入创造了一个有利的环境。
当然除此之外,招聘依然还是个老大难的问题,因此我们一方面与招聘机构合作,另一方面也自己在培养新员工,引进一些技术高手。
老鱼:从架构图中,我看到星环对Spark, Shark, Hbase等Hadoop生态圈的组件都进行很多的改造和优化,也常关注国内外大数据的***技术动态并且考虑如何加入到产品中来,星环新增功能和产品功能改造将会依据一个什么样的规则?
孙元浩:我们的产品策略,得从我们的产品架构图上讲起。如下图
Hadoop这层我们会与社区同步,并向社区反馈贡献。在Hadoop之上这层,我们会有3大组件Transwarp Hyperbase, Transwarp Stream,Transwarp Inceptor,这3个组件我们定位成自己的产品,我们会独立开发和发展,这块产品启用标准的SQL,或者开放API,这是个分割线。Hadoop生态系统的组件我们保证和开源版本全兼容的,包含Spark也会跟接口做兼容性测试。