支撑EB级规模的大数据平台深度揭秘
编者按:
4月20日,云栖大会走进深圳,由阿里云高级数据仓库专家陈鹏宇(花名:不老)分享的环节内容量巨大,引发现场用户关注。他分享的议题主要围绕阿里云数加平台,这一发布不久的大数据平台对很多人来说还比较陌生,但是这个平台的历史和其上所服务的众多业务,却是耳熟能详的,几个数字,瞬间抓住眼球:
双十一狂欢节,水立方实时直播,万亿级数据计算,3秒钟出结果
蚂蚁小贷利用大数据实现普惠金融,1秒钟放贷,全程自动化决策
菜鸟智能物流骨干网,货、人、车、仓智能调度,目标实现全国24小时送达
阿里集团99.9%的数据和计算都跑在数加平台上面
陈鹏宇于2010年加入阿里巴巴,在阿里启动大数据战略早期即参与整个大数据业务发展的过程。作为数据平台见证者和建设者,他以独特的视角,对大数据平台的技术演进历程等做了分享,并从用户角度对数加平台上层工具、服务所适用的场景进行了深入阐述。提起阿里大数据平台的演进历史,有个业务不得不提——阿里小贷,即蚂蚁小贷的前身。陈鹏宇曾负责这项业务数据仓库的基础模型和基础平台建设,他从7年前阿里开始做的这项数据驱动的创新业务开始了分享。
数据技术驱动的创新性业务
在阿里云成立的同年,阿里内部诞生了另外一个业务——阿里小贷,这项贷款业务起步时业界还没有“互联网金融”的概念。这项业务在第一天就定下了两个目标:第一,不管贷款业务做到多大规模,不能在全国任何一个地方开营业厅或门店;第二,不管到多大规模,员工人数不能超过500人。目前,这项业务从贷前的授信,贷中的利率和贷款周期的控制,到贷后的风险的控制,整个贷款发放的过程都是依靠纯数据化运作,没有任何人工来参与,目前已经成为蚂蚁金服集团里的支撑性业务之一,已经服务了超过百万的用户,每天贷款数万笔。在这样的运作情况下,它仍然遵循着最初的2项规定。就是这样一个非常注重安全性、稳定性、正确性和风险的金融业务,从09年开始,和阿里云的数加平台的前身一起诞生,并跑在阿里云的大数据平台上。
阿里现在讲的一句话:“一切业务数据化,一切数据业务化”,在多个业务形态上已经有了很多体现:去年双十一,在北京水立方的大屏直播给人留下非常深刻的印象,直播背后,是每一笔交易发生3秒钟之内就需要被统计到大屏上;菜鸟做智能物流骨干网,需要把人、车、货源地、道路信息、消费者、仓储等信息都要匹配起来,依靠大规模数据运算的支撑从而做到智能调度……今天阿里巴巴正在走向一条路,要把所有的业务都用数据化的运营思路来做,就像蚂蚁金服的小贷业务一样,同时,所有的数据都应该被业务化,例如电商的数据,日志的数据等等,都应该能够在另外一个领域被孵化出新的业务。这一点,不仅是在阿里,在社会上的各行各业,当数据发生跨界的时候,都会产生很多意想不到的创新业务场景。
登月,全集团的数据之旅
在早年的阿里巴巴,淘宝、支付宝、1688、口碑、天猫等等每一个业务板块都有自己搭建的数据平台。例如淘宝,有很大的Hadoop集群,其他业务也会有Oracle RAC,也会有GreenPlum,这些数据的共享就会变得非常的困难。广告业务需要用到淘宝的交易数据、会员数据,资金安全、搜索、蚂蚁小贷可能也需要用到。以往的做法是,每一个业务板块都把同样一份数据copy到自有的数据平台上,然后再去做运算。在这种情况下,硬件资源不能共享,数据是以非常低效的形式在重复存储,上层算法也无法共享。所以阿里在很早就决定着手建设一个平台,所有业务版块用生态的思路来做大数据业务,这就是后来启动的“登月”项目,把全部异构的技术平台统一到数加平台。
一个大型的内部生态系统
对业务来说,全集团数据平台统一变得如此重要,发展到今天这个平台的应用规模,总结下来就是:
从这张图的右侧可以看出阿里集团跑在数加上面构建了一个统一的数据仓库,BI分析、机器学习、数据可视化等等应用,都可以基于这个数仓来做。不仅底层计算资源是共享的,而且数据也是可以共享的,上面的工具、算法、模型,都是可以共享的。
很有意思的是,通过数据平台统一,在阿里还实现了一个不靠行政命令就可以办事的数据共享生态。数据产生者和数据使用者有一个质量分的约定,每一份数据背后都有质量分,从数据产出的时间是否稳定,是否曾发生过故障等多种角度综合计算,数据被使用的同时也会被标注被什么 业务使用。当这份数据产生质量问题,或者数据提供有延迟的时候,就会根据血缘关系来倒推这份数据的加工者应该承担什么样的责任,从而体现在质量分里面。这样一来,整个数据跨部门的流转、使用,所有的考量都是通过一个SLA的自运营的机制来做的。
随着阿里集团所有的业务板块都迁到一个统一的大数据平台上来,数加平台随之慢慢成型了。从数据的采集、存储、加工、计算、大规模数据分析、算法建模挖掘,所有实践过程中产生的配套工具,包括在一套跨部门的数据共享的安全管理的机制,都随之形成。
陈鹏宇认为,在阿里内部,数加是一个操作系统,因为有上万名的开发者在上面去加工数据和共享数据,人员角色既有平台维护方,也有数据提供方。每一天可能会有几千个业务系统在平台里面产生数据,运转良好,几千个业务产生的数据又会被几千个应用在使用,呈蜘蛛网式的交叉应用,同时,上万名开发者通过SLA的机制下来完成一个数据共享和管理的过程。所以,数加平台在阿里内部就是一个大数据操作系统的雏形。在上一届的云栖大会里,数加正式推出,阿里巴巴过去7年所沉淀下来的技术能力和生态系统运作的机制,都正式对外开放。
做平台就是搭台子,数加之上有什么是数据从业者最关注的呢?
海量数据分布式计算引擎
MaxCompute的前身是阿里云的ODPS服务,对于互联网公司、电商等企业用户来说,会有大量的日志、交易、会员数据,需要做分析的时候,应用MaxCompute是个靠谱的方案。如果用它来建一个企业级的数仓,或是做数据异构的集成,打破数据孤岛,实现大范围的数据集中共享也适用。
从上图中可以看出,单集群可以达到10000台的规模,同时有能力把异地、跨千公里以上的多集群连起来,让上面的开发者感知不到异地多集群的存在。在物理的异地多集群上有飞天分布式操作系统把这些机器连成一台计算机,MaxCompute借这台“超级计算机”的能力来完成数据的计算,同时在此基础上提供多种计算框架,包括SQL(高度兼容Hive语法),MapReduce,分布式的算法框架,图计算,准实时的数据分析。两个数据可以说明MaxCompute所具备的计算能力:
大:2014年双十一期间,ODPS在6小时里面处理了100PB的数据,规模算下来大概相当于1秒钟处理2000部高清电影。
快:在2015年100TB数据排序,ODPS里面的调度系统 ,打破了当时的世界纪录,比上一次的世界纪录提升了三倍左右。
MaxCompute在支持企业内部数据共享的机制上是提供多租户的机制,底层物理层是通的,通过一个逻辑的多租户隔离,提供非常灵活的授权机制来达到数据共享的目的。和搭建Oracle数据库不一样,多租户之间需要共享数据的时候,不需要创建任何的connection、dblink,访问对方部门的一张表就跟访问自己部门的一张表一样方便。
实时洞察数据价值
再看一款产品叫:Analytic DB 多维分析引擎,Analytic DB 是一个分析型数据库。传统企业要做BI数据分析的时候,面对的是一个静态的报表,只要预设了报表展示哪几个指标,不管谁来看报表,就只能看到这些东西。A在没有预先建模的情况下,允许从几百个上千个维度自由的去探查大量的数据。阿里内部很多面向海量互联网用户的产品的在线大数据查询,很大程度上依赖于Analytic DB。比如淘宝有几亿会员,十几亿商品,如果需要从几百个维度去对几亿的消费者去做年龄、地域、消费层次等各个维度去探查的时候,如果没有这样的海量的实时响应的分析引擎是做不到的。
流式计算引擎,处理最“新鲜”的数据
流式计算在双十一的直播大屏里,就有非常典型的应用。一单业务数据产生的时候,马上会对这笔业务数据进行计算;快的打车的智能调度,发起一个打车指令,即刻智能的计算该如何分配订单,背后就是流计算。流计算的使命是处理最新鲜的数据。实时经营报表、实时监控预警等等,这些都是流计算的应用场景。
一张图教你看懂数加
在陈鹏宇的介绍中,以上都是底层的计算平台,但是当我们在谈大数据的时候,这些平台是不能直接解决业务问题的。真正帮助数据从业者直接解决业务问题的是数加有层次的推出来一系列产品,下面一张图相当完整的描述了数加平台的工具构成。
整个平台对数据从业者的帮助主要体现在:
工具提供的功能,极大降低数据相关工作如建仓、ETL、BI、建模、应用开发等的工作量。
工具与引擎的结合,以及数据工作端到端产品线配置上的完备性。
数加会把一些场景化的业务逻辑包装在算法里面,比如说淘宝做个性化推荐,如果一家电商网站,例如大麦网,也想做个性化推荐,不需从头开始把整个算法、背后的加工工具都去做一遍,真正要关心的是应该是个性化推荐的效果本身,而不应该是底层的技术系统。大麦网计划做个性化推荐的做评估的时候需要900人天才能完成,应用数加推荐引擎之后只用了30人天。应用一层封装好的服务,再去实现同样的业务逻辑,成本能降到最低,效率能提升到最高。服务层的产品都是阿里巴巴真实业务场景里去考验过的,例如机器翻译在阿里巴巴B2B的海外业务里有大量的使用。
最后陈鹏宇讲到和合作伙伴的合作, “数加”大数据平台也将向有数据开发能力的团队开放。这些团队可入驻“数加”,借助数加上的工具为各行各业提供数据服务。
近日,数据刚刚上线大数据体验馆,数加平台提供数据,教程,感兴趣的朋友可以亲自体验下产品大图中的DataIDE、BI报表、DataV、机器学习等:https://data.aliyun.com/experience