摘要: MaxCompute是ET大脑供血系统极其重要的组成部分,若是没有MaxCompute,今天咱们将没办法给你们讲述任何一个成功的故事。
在刚刚结束的2018杭州云栖大会上,阿里巴巴通用计算平台负责人,阿里巴巴计算平台资深技术专家关涛从计算力,联合计算,智能化,企业级服务能力四个方面详细介绍阿里巴巴统一的超大规模数据计算平台MaxCompute的探索与实践。从数字化阿里巴巴,到数字化企业,再到数字化城市,MaxCompute快速进化,加速科技普惠, 驱动数字中国。前端
科学家闵万里,在云栖大会主论坛的演讲中表示,MaxCompute是ET大脑供血系统极其重要的组成部分,是咱们的镇山之宝,若是没有MaxCompute,今天我在这里将没办法给你们讲述任何一个成功的案例。 咱们经过ET城市大脑自动化监控城市路口信号灯,这当中,没有什么魔术,就是由于有了MaxCompute,有了大规模的分布式计算,数据越大,场景越大,越能体现大规模计算的能力。数据库
如下依据关涛演讲进行整理后端
谢谢你们,我是关涛。前面提到的杭州城市大脑,是一个很是新的平台,是阿里巴巴一步一步向上走的平台。咱们最开始但愿数字化阿里巴巴,再日后,就但愿把数字化普惠到企业层面,如今咱们开始数字化一个城市了。安全
用一个放大镜看一看城市数字化时作了哪些事?刚才提到了1300个路口,咱们实际上数字化了1300个路口,包含了4500路摄像头,每一路摄像头每一秒钟生成24帧数据,这一帧数据其实是一张高清图片,也就是1920X1024X24位的色彩景深,这一路数据若是不通过压缩,一帧的数据大概50M,在这一帧数据中,咱们会作车辆识别、车牌识别、行人识别,包括像压线这样的违章检测等操做。在帧和帧之间去看车辆速度,路口拥堵,以及路口和路口之间后续可能的拥堵指数。从数字化一个城市的层面来看,无疑对数字和计算的一个极致要求。咱们要想作到算得起,算的快,算的准,就须要有一个强大的计算平台。网络
飞天2.0MaxCompute是阿里巴巴在9年前作飞天系统的三大件之一,分布式存储、分布式调度、分布式计算,它是分布式计算的部分。9年后的今天MaxCompute已经能够承载EB级的数据存储能力,百PB级的单日计算能力,在公共云上以及覆盖了国内外的十几个国家和地区,专有云上包含城市大脑在内部署超过100+套,总体已达到10万台规模。就是这样一个计算平台知足了包括城市大脑在内的全部计算力要求。架构
从系统架构来看,MaxCompute超大规模的计算服务最底层包含异构的计算集群,支持CPU、GPU、FPGA集群以及将来的智能硬件集群。这些集群分布在不一样地方,经过统一的元数据管理和统一的调度系统联动在一块儿,在用户看来这10万台机器就是一台计算机。向上咱们提供包括批计算、流计算、内存计算、机器学习、迭代等一系列计算能力,这一整套计算平台成为了阿里巴巴经济体,以及阿里云背后计算力的强有力支撑。机器学习
今天我想为你们展开介绍如下四点:分布式
一,做为计算平台,计算力是最核心的指标。性能
在2015年GraySort 竞赛中,咱们用377秒完成了100TB的数据排序,打破了此前Apache Spark创造的1406秒纪录,得到世界冠军。2016年咱们又拿到了CloudSort最优成绩, 代表咱们不只算得快,并且算得便宜。2017年MaxCompute挑战TPCX-Bigbench 100TB 的30个query指标,成为全球第一个测试经过的计算引擎。2018年咱们在一样的100TB规模上,性能指标提高了一倍。 另外在超小型10TB规模的指标上,咱们与其余开源竞品进行了比对分析,性能超过开源竞品3倍。这是计算力的持续升级。也是知足数字洪峰涌进时对计算力的要求。经过这种方式使得计算力更便宜,也使得智能化更普惠。学习
第二,计算下推比数据上移更高效。
大多数用户上云,一般状况下数据不会在一个系统里。对于在线服务,数据一般会在数据库里支撑前台业务,对于半结构化log,以及非结构化的音视图等数据一般状况下存储在数据湖里。前端数据库的数据有很是丰富的index的支持,能够算的很是高效,后端是一个超大规模存储,中间是一个大数据体系,会把结构化数据以列式的方式存储下来支撑超大规模的数据计算。
这样就会面临一个挑战,就是用户预期要把全部数据放在一块儿来算,获得一个最好的结果。面对这种挑战,一般有两种解法,一种是所谓数据上移概念,就是把全部数据上移到统一系统中,上传同步以后再作计算,这样能够完成计算任务。可是会带来三个问题,一是数据冗余,至关于把一样数据备份一份或者两份;二是同步有延迟,在延迟里没法进行计算;三是实时性受影响。
基于此,咱们提出联合计算的概念,咱们认为计算下推比数据上移更高效。什么是联合计算呢?就是不须要数据同步,经过在大数据系统中的一个做业,能够联动其它系统。好比我能够在一个做业中把数据库系统的做业和大数据系统作一个join,在join时若是有 filter或aggregation,能够把部分计算下推到数据库系统中,由这个系统来计算。实现一个做业在多套系统之间的联动,在每一部分都依赖于当时系统最优的优化,作最优的决策,在这个层面上实现数据之间的联动和打通,这是联合计算的概念。
第三,Auto Data Warehouse让大数据自动驾驶。
这是咱们但愿今年能够在公共云上推出的一个新功能。 五年前咱们在阿里面对了巨大的现实挑战,数据爆发式增加,每一年增加几倍。以目前数字来看,平均每一个阿里巴巴员工大概有100个做业,天天有五六百万做业在系统中跑。若是把这些做业平摊到负责数据平台的同窗中,每一个人负责几十万张表,十几万个做业。以人的理解力来说,真的没有办法理解这些数据之间的关系和做业之间的关系,由于它过于复杂。
咱们要怎么作呢?当时很难回答的一个问题是数据有没有冗余,计算是否是能够复用。若是某一个做业失败了,某一个数据出了问题,到底影响面有多大,这些问题当时无法回答。因此五年前,咱们开始作一套系统,从最基本的数据可发现作数据地图开始,而后作数据血缘,找到数据之间的关系,看数据冷热之间分离能力,再看数据自动优化。到最后当有一张新的数据表进来时,自动去找关联关系,咱们把这样的系统结合成Auto Data Warehouse数据自动驾驶系统。这套系统在阿里巴巴内部实践代表,在计算优化上提高了35%,数据冗余去重层面下降了20%的存储能力,在资源规划层面,提高了超过75%的计算效率。这套系统在阿里巴巴很是成功的得以实现,今年咱们也会在公共云上提供给你们。
第四,MaxCompute是面向企业的完整服务,不仅是单一引擎。
再回归到杭州城市大脑,能够看到这个平台再也不是一个基础的平台,而是杭州城市背后的数据支撑系统。若是这个系统出现问题的话,颇有可能对国计民生都有影响。这对于系统的要求除了计算力以外,又不只仅是计算力,还包含稳定性,可容灾能力,可恢复能力,当交通出现拥堵,出现超大规模人流时的弹性能力等。当遇到突发状况,好比山竹,物理缘由致使某些网络断掉时,咱们有预警能力和自恢复能力。全部能力总结成一个词就是“企业化的能力。” MaxCompute不止是一个引擎,而是一整套平台,包含完整的企业化服务。
除了计算以外,包含帐号系统,项目管理系统。帐号系统听起来简单,若是一个企业有上万人用一个平台时,帐号分离就变得很是关键了。 数据安全系统,是指把数据分红若干个属性,若干个数据标签。好比:高优先级,低优先级,高秘级,低秘级,高隐私、低隐私,什么样的数据受权给什么系统,受权给什么样的人,须要有系统保障。监控系统,则是咱们不但愿等系统出了问题时,用户才能知道,而是但愿在系统可能要出现问题时,或者有几率出现问题时,可以作提早预警,作提早的处理。
今年咱们也新推出了DQC数据正确性验证系统,当数据变得很是复杂时,会搞不清楚数据哪里出了问题。好比用户做业写错了,咱们能够在若干个层面加以验证,经过一系列规则的方式保证数据的正确性。还有新推出的,已经实施在某些专有云项目里的多集群容灾系统,这套系统知足了金融性容灾系统,符合中国第一代金融法规要求。除了计算力,联合计算,智能化之外,开发一样很重要。阿里巴巴有超过1万人在这个平台上作开发,阿里云上有数万家企业客户在这个平台上作开发,影响几十万人,开发效率一样关键。今年咱们全新升级了DataWorks开发和调试平台,更有数据集成系统,做业的pipline管理系统,同时能够和机器学习联动,和数据分析和BI平台联动,同时也推出APP Studio。除了引擎以外,总体把一个企业级的计算服务完整搭建到一块儿。
计算力,联合计算,智能化和企业级服务能力,构建成一个完整的大数据平台,咱们将不断以技术驱动平台和产品化发展,让企业和社会可以拥有充沛的计算能力,持续快速进化,驱动数字中国。
本文做者:晋恒
本文为云栖社区原创内容,未经容许不得转载。