导读:6 月 1 ~ 2 日,GIAC 全球互联网架构大会将于深圳举行。GIAC 是一个面向架构师、技术负责人及高端技术从业人员的技术架构大会。今年的 GIAC 已经有腾讯、阿里巴巴、百度、今日头条、科大讯飞、新浪微博、小米、美图、Oracle、链家、唯品会、京东、饿了么、美团点评、罗辑思维、ofo 等公司专家出席。
在大会前夕,高可用架构采访了本届 GIAC大数据分论坛 出品人马如悦,就目大家广泛关注的大数据方面的问题进行了访谈。
马如悦,百度大数据主任架构师,当前是百度大数据技术总负责人,百度云数据分析产品技术总负责人,负责百度内外部大数据处理相关产品的规划和研发。同时也是Palo项目的技术负责人。在领导分析数据库方向以前,一直是百度分布式计算方向的技术负责人,是百度Hadoop团队的创始人。其领导的Palo项目,已经上线百度近50个产品线。
高可用架构:马老师,您好,很高兴能访谈到您。您在百度有十多年了吧?从刚开始的高级工程师,到现在的主任架构师,您工作和生活中最大的改变是什么?能否结合您的亲身体会谈一谈技术人的技术路线和管理路线的有何不同以及如何抉择?
马如悦:百度内部是分技术路线和管理路线的。在技术类的公司,我自己这么多年的感受是,在级别低的时候,管理和技术实际上更偏重技术多一些,就是即使是做管理,也是需要深入了解一线技术的。但是随着职级的提升,管理和技术也都会转为偏向管理一些,只是侧重点不同。
原来你只是一个模块或者一个小方向的技术负责人的话,很多时候,更多依赖的是你个人的能力和决策;但是当你成为多个方向的技术负责人,负责的技术团队到上百人的话,这个时候,你的精力和能力是无法做到像小团队那样,这个时候,作为技术负责的同学,就需要培养技术梯队,协同好各个子技术方向的负责人,定宏观和长远战略,充分发挥团队自己的能动性。这也就是我说的,随着职级的提升,会更偏向管理多一些。
我觉得作为一个喜欢技术的新人,应该还是从做技术开始,等到职级到了一定程度,再转向管理。一个方面是较低的管理职级实际上发挥不了太大管理作用,所以在很多其他互联网公司,在低级别,技术和管理是一体的,只是到上面才会逐渐分开。
高可用架构:大家都知道您在OLAP和OLTP领域耕耘很多年了,是什么样的契机让您开始这两个方向研究的?它们究竟有怎样的魅力吸引您愿意花长时间去钻研?
马如悦:我研究生是在清华做ChinaGrid的,07年毕业有幸进入百度去开辟分布式计算方向。那个时候,Hadoop开始火起来,所有的互联网公司都在做。做了5、6年的离线计算平台,当时百度已经比较成熟了。那个时候,遇到了很多新的业务问题,发现是Hadoop这种离线框架不好做的,需要类似大规模在线数据库这种,所以自己就主动要求转岗了,从一个几十人的大团队接手了一个几个人的在线数据库小团队,开始走上了在线数据库领域。在新的方向上,我们通过5年的时间,建立了百度新式数据库团队,传统数据库团队还是有DBA团队在负责,百度新的数据库技术基本都在我们这个团队。我们先后做了面向结构化的在线数仓,面向文本非结构化的搜索分析数据库,以及面向事务的NewSQL数据库。
我个人是一个偏向喜欢做前沿技术的人,所以只要有比较好的前沿技术,只要这些技术可能对业务带来前所未有的改进,就对我有无穷的吸引力。我并不崇尚那些极度高级和复杂的技术,我更崇尚那些可以带来更大落地效果的技术。比如,随着人工智能技术的进步,我们现在也在转向怎么利用机器学习来进行更加智能数据分析的技术,比如AutoML技术,Augmented Analytics等技术。
高可用架构:现在开源的比较知名的OLAP都有哪些?根据存储数据的方式不同,OLAP可以分为ROLAP、MOLAP、HOLAP等等,您主导研发的OLAP系统属于哪种类型?选择这种类型是怎么考虑的?当初是什么原因决定要自研的?
马如悦:我们研发的Palo实际上是ROLAP的。但是我个人不喜欢将任何产品非得划分为ROLAP、MOLAP或者HOLAP,这种被人总结成标准的条条框框,理解好了,可以指导你的工作方向,理解不好了,可能会限制你的思路。所以在Palo里,从来不会去说这个东西是MOLAP的,我们做得是ROLAP的,这个不合适,所以不去做。
百度的Palo都是根据自己的业务需求,和参照同行,比如Google的一些做法,去开发的,不是根据教科书去做得。Palo的分布式存储引擎是自研的,查询引擎是基于Impala做优化的。Palo除了满足业务性能要求外,主要追求的是简单,就是开发、使用、理解都简单。很多类似解决方案都复杂无比,比如依赖zookeeper,依赖hbase,依赖hdfs,依赖hive,依赖MapReduce等。而这些依赖都大大增加了使用和运维的负担,在在线系统中,这种依赖造成的各种问题实在是太多了。所以Palo当时追求的目标就是简单有效。
高可用架构:OLAP和OLTP场景有怎样的不同?两者的融合是否是未来的趋势?您认为融合的难点在哪?融合之后,将会对大数据领域产生怎样的变化?
马如悦:OLAP是面向分析的,OLTP是面向事务的,一般面向的业务需求不一样。这一两年,很多产品都大谈HTAP的概念,所以现在又多出了一个HTAP的系统。
HTAP系统我个人认为一定是未来的趋势,分久必合,合久必分。但是这个需要多未来,就不好说了。很多产品大谈HTAP,搞得好像这个时代就马上到来一样。实际上很多产品,一开始奔着是做NewSQL, 就是新一代OLTP领域去的,但是等做得差不多,出去谈客户,发现客户对新的OLTP的需求不大,尤其是对新的不成熟的OLTP产品,在重要的业务上使用,没有啥兴趣。但是,发现在新的OLAP需求却很大,那怎么办?就谈HTAP呗。所以现在业界大多谈HTAP的都是做NewSQL出身的。是不是商业的噱头咱先放一边。从长远来看,随着硬件技术,业务需求的转变都可能对HTAP技术需求越来越大。所以我认为HTAP是个趋势。
但是,我十分不认同,在解决实际问题的时候,大家为了追求趋势而去采用HTAP技术。实际上很多当前的业务和系统,OLTP和OLAP分离去解决,是最自然的,也是最高效和稳定的,那为啥非得耦合到一起,并且可能容忍在某一个特性上的短板。HTAP技术我觉得可以作为NewSQL未来延展的一个方向去研究,但是遇到实际问题还是要综合考虑,是OLAP/OLTP分离好,还是混合好。
高可用架构:大数据发展超过10年了,大数据生态中各种组件层出不穷,比如ELK、Impala、Spark、Flink、Storm等等,您觉得出现这种情况说明了什么呢?这些组件有没有您特别推荐大家使用的以及推荐的理由是什么?
马如悦:出现大量的组件,说明这个领域还远未成熟,当某个领域非常成熟后,就基本上会收敛成几个稳定的技术产品。也就是因为有很多组件,所以做集成方案是有前途的一个方向。
我个人现在比较倾向的是:离线使用Spark/H2O/Tensorflow组合,在线分析使用Palo/ELK,NewSQL大家可以关注一下Apple开源的FoundationDB。
高可用架构:说到大数据就不得不说Hadoop。有人说Hadoop正在沦为日志处理工具,对此,您是如何理解的?有什么样的看法?
马如悦:我认为Hadoop没有不被Spark取代的任何理由。Hadoop能做到的,Spark都能做到,或者即将都可以做到。所以如果你是这个领域的新人,建议可以直接从Spark学起。很多公司都在使用Hadoop,并不一定说明Hadoop好于Spark,大部分情况是遗留系统,迁移成本巨大造成的。如果你能挑出一个Spark做得不如Hadoop好得点,不要转向Hadoop,而是努力为Spark解决掉这个问题。
高可用架构:最近几年TiDB、Kylin等开源项目在大数据领域的应用也逐渐流行起来,在您看来,他们都有什么样的优劣?解决了用户怎样的痛点?
马如悦:TiDB和Kylin都是中国做得非常好的开源软件,也让硅谷的人了解中国人也是可以搞出世界级的开源项目的。TiDB的刘奇和东旭,以及Kylin的韩卿,我们都有交流,从他们那里学到了很多东西。
TiDB我更倾向于认为是个NewSQL产品,主要是一个New OLTP的产品,可能是NewSQL叫得太多了,并且在TiDB的前期客户中,更多人可能拿他用来做分析用,所以他们现在更多得是把自己定位为HTAP,毕竟叫HTAP的产品现在远少于NewSQL,哈哈。TiDB同学对技术的那种追求是令我羡慕的,所以致力于HTAP方向的同学建议可以投入他们社区研发,帮他们做到更好。
Kylin是一个New OLAP的产品,周围也有很多公司在用,大家也可以试用一下。但是这里给Kylin提一个建议,就是Kylin还是依赖了太多Hadoop组件,而这些依赖让Kylin的易用性会大大折扣。所以Kylin下一步可以不断收敛内聚一些,但是Kylin还是一个不错的产品,大家都可以尝试一下。
高可用架构:容器引领了微服务潮流,在大数据领域的基础设施、资源混合使用以及运维自动化等方面应用广泛吗?目前的现状和可能的原因是什么?
马如悦:AWS认为容器和Serverless是这一两年最火爆的技术。尤其是容器技术,在私有化部署产品时,更是上乘之选,直接解决了兼容性问题。AWS在容器技术方面,也在这1-2年先后推出了3款产品,可见其重要性。
百度也基本上从今年起,将所有的大数据计算和人工智能等计算全部迁移到容器平台上进行统一调度。
所以,容器当前可能也有一些不好的地方,比如使用起来还是比较费劲,对底层存储挂载也都少许不好用,但是从长远来看,容器的大规模在IDC的使用基本没有悬念了。
高可用架构:您目前最关注的新技术有哪些?最有可能给大数据领域带来变革的是什么?
马如悦:我现在主要关注的就是机器学习、人工智能在数据分析的应用,比如类似AutoML的技术。我们正在努力打造一款新时代的类SAS的数据分析产品。
高可用架构:您此次参加GIAC,给大家带来了什么样的干货?方便透露一下吗?
马如悦:此次主要还是想和大家分享一下百度云是怎么思考大数据平台架构的。
本期 GIAC 大会上,大数据和人工智能部分的精彩议题如下: