阿里墨冶:大数据行业仍处于上半场

2018-09-25 09:37 来源:it168网站
浏览量: 收藏:0 分享

  我们应该讨论时代。在对潮流与趋势的洞察中,可以获得一些有用的见解,指导我们乘风而上、顺势而为。可与眼前的事务相比,讨论时代又略显空泛。时代无法告诉我们代码怎么写,bug怎么改,该用哪个开源工具……所以平心而论,还得是那句“老话”——既要仰望星空,又要脚踏实地。

  本次名人堂专访,我们有幸邀请到了来自阿里数据技术与产品部的墨冶(本名陈敏敏),他在阿里主要支持和负责零售通的数据业务,同时横向负责集团五条To B业务线的数据技术,包含采集、计算、存储一直到数据展示端的技术。墨冶老师参与撰写和翻译了《Storm技术内幕与大数据实践》、《软件设计之道》和《HBase应用架构》等书籍,曾担任过多个全国、全球性IT技术会议中架构或大数据专场的出品人,也曾在一些500强企业先后就任过工程师、架构师、总监、公共数据部门的技术总负责人。

  墨冶老师在大数据领域拥有丰富的阅历与见识,也有深厚的实践经验。所以这次我们谈论大数据的“星空”和“土地”,他无疑是最适合的人选之一。

  大数据“星图”绘制未半

  今天,全球范围内的数据量呈现出井喷式的增长,大数据技术在很多企业的业务场景中都有非常普遍的应用,也因此涌现出了很多的开源技术和工具。如此繁荣的业态容易给人造成一种整个大数据行业已经完全成熟的错觉,其实不然,墨冶老师认为从数据量和数据类型上看,大数据还处于上半场。这片星空的星图有待进一步完善。

  “目前仅IOT的数据量全社会就有1.1万亿T,但大量的半结构和非结构化数据还未采集,随着传感器价格越来越便宜,物联网的普及,5G的全面商用,数据应当会暴增。”

  除了数据井喷现象仍将持续进行且愈演愈烈外,墨冶老师认为,实时计算框架、数据仓库等技术也将不断进化,未来几年我们可能会看到以下三个重大变化:

  1、半结构化\非结构的数据湖会逐步成熟。 在Google Trends上,Data Lake热度已经超过Data Warehouse。支撑数据湖的几个开源框架的社区也比较活跃,如Apache Atlas已经发布1.0.0版。佛罗斯特研究公司甚至认为数据湖最终会进化成Data Fabric,未来各种数据源会更加自动化、智能化、安全的采集到一个平台,在统一平台里提供可信的、360°视角的客户和商业数据。

  2、流和批处理技术统一开发模式。 Spark和Flink等实时计算框架,不仅上层的功能相互借鉴,从最近来看,架构设计上也相互参考,比如micro batch模式的Spark,规模提升后性能会存在一定问题,所以当前Spark也在开发类似Flink的Continuous Processing Mode。

  3、ETL会更方便。 目前仅仅用SQL和UDF仍存在不少限制,如缺少关键的继承、不支持递归等,随着一些云厂商推出可视化数据清洗工具,以及处理语音、图像、视频的数据湖逐步完善,以后ETL更加可视化,很多甚至可以通过拖拽完成。

  在这样一个技术发展背景下,开源社区的力量是不容忽视的。墨冶老师认为,好的开源项目最好有一家对应的商业化公司,开发相应解决方案,完善外围功能,帮助开源项目实现商业化,这样对项目本身的发展会更加良性。同时,墨冶老师特别提到了上层功能标准化的重要性,特别是对于很多新技术,行业标准化会减少很多不必要的麻烦与成本。

  “从编程语言的发展史来看,工具和平台最终都会朝着降低大家理解世界的成本的方向发展,数据和智能应用的开发会越来越方便,门槛会越来越低,解放出更多的人从商业和业务角度思考问题。”墨冶表示。

  在大数据之路上站稳扶好

  很多企业都在开始搭建自己的大数据平台,这既是时代趋势使然,也是业务场景需要。但大数据平台从技术选型、搭建到落地,整个过程一定是困难重重的。

  设计大数据平台时,墨冶老师建议,首先要考虑预算和交付周期。若预算紧、交付周期短,且团队还不具备提交Patch或者二次开发的条件,那么可以先选择部分组件用商业化;其次要评估应用场景的复杂度和数据量,以及保障要求的性能、容错等非功能性需求,这些可以分几个阶段建设;最后是根据平台如何设定配套管理流程、制度、规范等。

  ·常见的挑战

  确实,很多团队在平台建设初期会先选择部分工具使用商用产品,等后期再根据业务需求将其替换到开源软件,这的确是一个不错的方式。但这样一来,在后期进行过渡时,应用迁移将成为一个不小的挑战。

  再者,对于部分业务场景,现有的开源项目无法支撑。而且部分功能有时需要对正在使用中的开源项目进行二次开发,这可能会对平台造成“伤筋动骨”般的影响,产生较大的麻烦。最后还应注意的问题是,数据存储和处理分散、烟囱式数据开发,可能导致后期各个部门数据口径不统一、维护成本高。

  ·如何应对

  “业务发展到一定阶段,老的报表平台上指标口径繁多,数据经常对不上,维护成本越来越高,问题逐步暴露了出来。”针对这些典型的问题与挑战,墨冶老师以个人经验为例,分享了一些应对办法:

  第一,自研自己的自主分析平台和统一指标平台,再结合OLAP的优缺点,选型Druid等OLAP做加速,方便自主分析和报表查询。

  第二,梳理各BU的指标,提取出公共的原子指标、衍生指标等,录入统一指标平台,统一指标口径和指标服务。

  第三,迁移工作中,自主分析平台可以直接接入ETL加工后的表,也可以接入统一指标平台,不用一套标准限制死,否则迁移工作会耗时很长,可以在过程中再慢慢进化。

  ·上云也是一个很好的选择

  云的灵活性、便利性是促使企业在云上搭建大数据平台的一大原因,而且,云也可以提供更专业的大数据技术能力,对于一些技术水平尚缺的公司来说,上云可以说更具优势。

  “这方面国外比较好,国外超级独角兽Airbnb、市值千亿美金的Netflix都用别人的云。”墨冶老师表示,“专业的事情可以交给专业的公司来做,自己专注到业务增长上面。国内很多公司到了一点规模,还处于亏损状态,就喜欢全部自建。我看到有些公司因为这块压力,拖累管理精力和成本而死掉。”

  什么是优秀架构师的基本素养?

  很多初入IT行业的年轻朋友致力于走上架构一途,但往往苦于不知该如何前行,难以拿捏方向。那么,要成为一名优秀的架构师应该具备哪些基本能力和素养呢?墨冶老师表示,自己接触过的优秀架构师主要具备以下三方面的能力:

  1、技术层面。 对分布式、高并发、高可扩展、性能优化等基本原理有一定了解,最好深入了解过一个框架。保持好奇心,有精力跟一条技术线的发展趋势。

  2、业务层面。 了解业务目标、策略和场景,知道尽可能全的业务场景,有助于设计好的产品。其中,业务流程的抽象能力对应用架构师就特别重要了。要知道,垂直领域的业务专家可是比技术架构师吃香,业务专家和老板基本无缝沟通,技术型架构师很多还是很吃力的,深入业务是一个优秀应用架构师必备的能力。

  3、沟通、协同能力。 很多重要系统往往是跨团队、跨大型组织的,要想成为一个优秀的架构师,必须具备在复杂组织下协调和推进能力,能求同存异,协同兄弟团队把方案落下来,才能拿到结果。

标签:

责任编辑:bozhihua
在线客服