干货 | 阿里巴巴在大数据领域沉淀的技术能力和应用实践(附PPT)

2017-10-26 14:28 来源:阿里数据AliData
浏览量: 收藏:0 分享

近日,在2017杭州云栖大会-阿里大数据分论坛上,阿里巴巴数据技术及产品部资深技术专家姚滨晖发表了主题为《阿里巴巴数据服务和数据产品开发平台》的演讲,分享了阿里在大数据领域沉淀的技术能力和应用实践。

  数据服务和数据产品开发平台通过有机的组合发挥出阿里EB级数据的价值。数据服务通过规范DSL标准和Query Engine、Push Engine、DAG编排、Algorithm Engine的组合对外提供了单一接口动态化查询所有数据,和实时计算平台打通数据秒级触达应用,平均RT小于5毫秒的数据获取能力,同时除了基础数据指标输出外,还实现了基础服务能力之上提炼的动态逻辑、挖掘、算法能力的服务化输出,完成了数据在业务间的全域流通。

blob.png

  数据产品开发平台通过对阿里数年复杂业务场景下的实践和抽象,通过变和不变的架构设计思路、跨端的大数据,提供一套可供非开发人员自助使用来实现阿里绝大多数数据产品需求的开放平台,实现跨PC、手机、大屏的多端功能,提供数据分析能力、报表配置能力、产品配置能力、产品开发能力,解决非开发人员自助完成看数据、分析数据、使用数据的需求,完成数据对业务的直接赋能。

  附实录+PPT

blob.png

Part1

数据赋能的背景

blob.png

blob.png

  总体来看,阿里巴巴的生态可以分为六个业务板块:

  电商、物流、健康、文娱、金融,以及云计算。阿里巴巴通过这些业务,服务了数亿用户,上千万的小微企业,以及上千万的商家。伴随着我们的业务服务,同时截止目前,我们已经沉淀的数据量高达 EB级规模。

  通过全域数据体系,我们建设、融合、链接了这些来自不同业态的数据。( 点击此处可跳转查看《阿里巴巴全域数据建设》)

  下面这张图,勾勒了阿里巴巴大数据体系。

阿里巴巴大数据体系

blob.png

  从下往上看,最底层的是全域数据,第二层是基础数据建设,它包括了人工智能的一些算法。在基础数据建设的上面分别是各种数据服务和数据产品开发平台。

  从图中我们也可以发现,我们的数据产品和服务,实际上是通过各类不同的应用场景来达到服务阿里小二、阿里商家、消费者、合作伙伴的目的。

  所以,数据服务和数据产品开发平台,它与应用场景是强相关,直接连接,他们的主要作用是把底层建设完的数据、算法,生产成可以直接赋能业务和用户的应用。

  Part2

  数据服务和数据产品开发平台的关系

  数据服务和数据产品开发平台的关系就像齿轮一样,它们是相互依存的一个整体。

  为什么这么说?

  ———————

  从业务角度来看:业务使用数据有两个最核心的场景:

blob.png

  第一,业务本身需要数据。这时候,业务会通过数据服务来直接获取数据,这是第一个场景。

  第二,业务中的运营、分析师,他们需要使用数据来更好地提升数据赋能的效能。这时候运营和分析师,就会通过相应的数据产品,来使用数据。所以,这就是数据产品开发平台承担的主要职责。

  所以通过这两个核心的数据赋能业务的场景,我们可以发现数据服务和数据产品开发平台,之间相关依存的关系。

  从优势角度来看,将数据服务好和数据产品开发平台组合起来,它们可以体现三个优势:

blob.png

  第一,通过这样的一个组合,能够打破在业务之间的数据壁垒。这里要强调的是它们打破的不是在底层的数据壁垒,而是打破在业务之间的数据壁垒,因为6大业务板块,所产生的数据形态、含义、结构都有很大差异。在底层完成了整个数据打通之后,打破壁垒就是为了在业务层上,让数据在各个业务间像水一样来流通。

  第二,满足灵活多变的数据需求。

  第三,全域流通和按需自助实现。这个组合可以实现所有用户可以去按需自助来完成,而不需要专业开发、产品来介入。

  Part3

  数据服务介绍

blob.png

blob.png

  数据服务主要由四个核心能力组成:

blob.png

  首先,基础数据服务,它主要是提供基础数据能力,实现上万数据指标跨域获取;

  其次,标签画像服务,通过这个服务,可以给用户提供上百个标签刻画;

  第三,人群透视服务,这个服务其实是在标签智商最的提炼,在营销场景中,可以通过接入这个服务,来实现人群的圈选等;

  第四、还有算法模型服务,通过一键服务化的方式,把算法能力通过服务透出。

数据服务的架构

blob.png

  上图展示了数据服务的架构。

  从上往下看,portal是一个门户,通过它可以发现,整个阿里巴巴公共层,有多少基础的指标可以去获取,并且这些指标现在已经被哪些业务部门通过什么样的方式来获取。

  用户只需要按照同样的方式,就能够获取到对应的数据,极大缩短用户发现数据、获取数据以及使用数据的路径。

  中间这层是DSL,通过DSL我们把用户获取数据的标准和规范进行了统一,整个DSL之下有一些大的核心能力。QueryEngine实现所有跟查询相关的能力输出;PushEngine提供实时数据推送的能力;DAG可视化,可配置编排业务逻辑。Algorithm Engine输出算法和人工智能的能力。

DSL&DAG实例

blob.png

  现在,我们的数据服务的主要有三大应用场景:

blob.png

  第一是阿里集团内部,诸如搜索、推荐、营销等场景;

  第二是数据大屏,大家在双11看到酷炫大屏,它其实就是通过数据服务来实现的;

  第三是商业化数据产品,被商家熟知的生意参谋,它所展示的数据也是通过数据服务来实现的。

  Part4

  数据产品开发平台

blob.png

  我们构建数据产品开发平台最核心的目的就是,让非专业的开发人员,也可以根据自己的需求,来搭建数据产品,从而实现自己使用数据的目的。

blob.png

  那么数据产品开发平台,它主要对外提供了四个能力:

blob.png

  第一,用户可以完成数据分析;

  第二,用户可以去自助实现报表配置;

  第三,非开发人员可以利用它去实现产品配置;

  第四,开发人员可以通过它,开发一些更加复杂、更加个性化、更加定制化的一些数据产品。

  具体来看数据产品开发平台的架构,整个架构的核心能力依然由两个部分组成。应用端和服务端。

blob.png

  在应用和服务中间是DSL,所有的应用和服务,最终都会按照DSL标准来配置。通过数据产品开发平台构建完成的应用和服务,并不是一个独立运行的实体,它实际上是一个配置,渲染引擎、执行引擎等可以加载和运行这个配置;通过构建引擎生成一个配置,来实现不同国家、不同机房、不同终端都能运行的目的。

  事实上,整个数据产品开发平台的构建思路主要由两个核心点:什么是变的以及什么是不变的。

blob.png

  其实我们只要能够对数据使用过程分析、分解出变和不变这两个要素,就能够比较快速地解决问题。

  举个例子:对于一个应用,我们怎么来分解变和不变两个要素。

  应用的布局、样式、分析思路……这些都是不变的;但应用中的组件,可以是一个图表、可以是功能区域,也可以是一个不可见的逻辑……这些是变化的。

  继续分析一个组件:组件的类型、属性是不变的;但是每个组件它所能够表达的数据,是可以变化的;同理推导数据:对于一个数据来讲,格式是、权限是不变的;但是数据是从哪个服务能够获取到数据,这个是可以变化的。

  最后到服务这一层,服务里面有两部分组成:通过SQL获取的原始数据和业务逻辑;通过业务逻辑对原始数据的加工和编排,最后以服务化的方式,把数据开放给上层应用。

  了解思路之后,我们再来看一下整个平台的构建过程,它们分别是在应用端和在服务端的构建引擎。

  对于应用端的构建引擎,需要注意的是非开发人员,通过构建引擎,只需要输入四个要素——样式、布局、组件以及分析思路,就能构建出一个基于DSL描述的一个应用;同理,在服务端也是一样的,非开发人员通过输入SQL,和一些业务逻辑的实现,就能够生成一个基于DSL描述的服务。在应用层,上述的服务是可以实现PC、无线和大屏的跨端。

  在使用过程中,下图是一个使用过程的示意:就是通过两个引擎:渲染引擎和执行引擎。

blob.png

  它们都会去加载DSL描述的应用和服务,然后进行交互来完成整个这个产品的实现。

  数据产品开发平台在阿里的应用对象主要是四块:

blob.png

  首先是业务运营,在日常运营中,运营人员可以通过这个平台去自助的去生成所需要的产品;

  第二是决策分析,分析师会帮助行业来进行业务分析指导,他们会通过整个平台来使用和开发自己的数据分析产品,完成决策分析;

  第三是后端营销其实也可以通过它来搭建产品;

  最后是刚才提到的——生意参谋,这是通过这个平台开发商业应用产品,目前已经累积服务了2千万商家。

标签:

投稿人:zhangxiuqin
在线客服