性能追求之路——MaxCompute2.0(原ODPS)的前世今生

简介: 在2017云栖大会大数据专场,阿里云高级专家云郎分享了《大数据计算服务MaxCompute产品最新动态》。他首先介绍了MaxCompute的发展历程和技术架构,然后对MaxCompute 2.0版本新特性和新技术进行了详细介绍。

在2017云栖大会大数据专场,阿里云高级专家云郎分享了《大数据计算服务MaxCompute产品最新动态》。他首先介绍了MaxCompute的发展历程和技术架构,然后对MaxCompute 2.0版本新特性和新技术进行了详细介绍。最后,分享了基于MaxCompute平台构建完整大数据应用架构、构建新型数据仓库、实现个性化推荐的实践。

 06ddca07240597a22b2d00c2f110cf49d4896aaf

本文根据直播视频整理而成。

 

首先看三个简单的问题。在阿里内部已经有了30多个业务单元,是一个典型的数据驱动公司。数据在整个业务创新、业务变更的过程中起了非常重要的作用。所以,是什么技术支撑了阿里巴巴集团内部的数据计算要求?经历了很多次双十一,双11背后的大数据平台是什么?在阿里云,第1个运行在阿里云飞天平台上的云服务是什么?答案非常简单,就是阿里云大数据平台MaxCompute(原名ODPS,https://www.aliyun.com/product/odps)

MaxCompute

73ca026b0190efe327a3146b82d4f3a8137ec83e

MaxCompute是阿里云提供的从GB到EB级的、免运维的、安全可靠的数据仓库平台。作为云服务,MaxCompute具有几个显著的特点:开通即用,这是所有云服务的特点,非常便利;在云上,借助于大规模的规模效应带来的高性能、低成本;数据安全、可靠;支持多种分布式计算模型,计算架构发展到今天,没有一种架构能够满足所有的场景,MaxCompute可以做离线计算、批量计算,学习能力强;兼容生态开放,提供了众多接口和生态的工具。

发展历程

3218edcd00783d2b45a50fcd4e94c32c2086f9b2

上图是MaxCompute的发展历程,阿里云是2009年成立的,当时的愿景是要做运算和分享数据的第一平台。2010年,自主研发的MaxCompute作为数据仓库平台正式上线。2012年,开始搭建集团统一的数据平台,提供统一的数据存储、计算、分享。2013年,整个数据的规模指数级的增长,推出了具备5K集群能力的飞天平台。2014-2015年,“双十一”交易过程中,逐渐成为了共享仓库的数据平台。2016年,推出了MaxCompute 2.0,带来了新的特性。

技术架构

ad309978b95b9637509e9d548dd28e9c6ef6636e

上图是MaxCompute的技术架构。最下面一层是物理机器,MaxCompute有自己的物理集群,在集群之上有非常重要的能力:它把一个集群组织成了1万台计算机,MaxCompute 2.0很大的特性是集群能力得到了扩展,从5千变成了1万。黑色部分是飞天操作系统,提供整个分布式系统任务协同、资源管理、集群调度等功能,为上层云产品提供统一的操作系统服务。其上是MaxCompute统一的计算引擎,支持SQL、MR、迭代计算、图计算、流计算。

MaxCompute的特性

917f022cf5e94fa3a9c924ff8a1ba14f2f128143

MaxCompute的特性如上图所示。

781400c9e2ea1481f0494491a819e8ae541ac20e

从上图可以看出,截止到目前,MaxCompute获得了广泛应用。在阿里巴巴内部,其支持了所有的BU,所有的数据仓库、数据平台都是共享在MaxCompute之上的。在开发者社区,吸引了超过8000+的开发者。众多的应用和数据也在MaxCompute上。并且,有众多的内外客户都在使用MaxCompute。

MaxCompute 2.0

e0c7ac2a77d2d6f93441caf279c7b9ebcd5374eb

最新推出的MaxCompute 2.0的新性能如上图所示。高性能方面主要依托于全新的SQL 2.0计算引擎。在新功能方面提供了非结构化的处理,在云上开始使用OSS(开放的对象存储)、OTS(开放的表格存储),MaxCompute对其进一步分析和计算提供了连接性。机器学习在新版本中提出了CPU和GPU统一的架构,在富生态中也提出了新的能力。

全新的SQL 2.0引擎

在编译器方面,基于AST的编译器模型,Visitor模型(Antlrv4),IDE IntelliSense,Warning支持完整的存储过程,LOOP/IFELSE判断等;在优化器方面,CBO基于代价的优化器,Volcano模型,展开各种可能等价的执行计划,然后依赖统计信息,计算这些等价执行计划的“代价”,最后最低的执行计划;在运行时方面,利用LLVM技术,在运行时生成较优的机器码,采用列式执行框架,提高CPU流水线的执行效率,并提高缓存命中率,使用SIMD。

5a674a2950ebd8e3c8a606b33749ea8c8610b522

上图是全球公认的Sort Benchmark测试结果。2015年,MaxCompute打破世界纪录,获得“速度最快计算引擎”称号。2016年,逐渐降低计算成本,并打破世界纪录。

非结构化数据处理框架

168487215b633d5f8a5e0d75ca35adab583e0c19

在云上,OSS、OTS存储非结构化数据情况变多,比如在OSS上存储视频、音频、图像,在OTS上存储文本、标签等。我们希望在这个过程中能够进行进一步的计算,比如希望OSS存储的CSB文本文件能够在MaxCompute上直接对其进行计算。再比如,在OSS上存储的大量音频文件按照表的方式对其进行处理,对音轨进行分析,进而把分析结果结构化写到MaxCompute里,这样就完成了非结构化数据到结构化数据的转换。MaxCompute 2.0提供了外部表的方式,可以将OSS上的bucket映射成一个外部表来进行表式的处理。OTS也类似。

社区兼容与生态连接

747ced8f9fe58428286219a4508c7ac36c06c2be

对数据做了基本的加工处理之后,更多的处理要依赖生态工具。阿里云MaxCompute从三个层面提供开放方案。

MaxCompute多租户机制

5d23a7ff36fe0978a6de124a8372e0088b0e0389

数据安全是上云前需要慎重考虑的事情。MaxCompute从刚开始就面对多个BU、多个项目要安全共享数据的天然诉求,沉淀了一整套更细粒度的授权体系。基于项目的方式,让更多的安全得到控制的一个非常重要的原则是最小化原则:仅仅授权给最小需要数据的人,在企业里做到权责分离。上图中,中间的project可以认为是MaxCompute拥有的数据库,下面可以有多个部门去使用,但是通过不同的授权方式让不同的部门得到合理的授权,确保数据安全的权限下发到最小的部门。右下角的共享数据是所有部门都可以看到的。

9baa50b8906f51f03a05dd41c8cc08716dbfee10

高性能带来了低成本的优势,上图展示了MaxCompute和一款EMR产品的对比。

MaxCompute应用

构建完整的大数据应用架构

d1c2012ae5322f3b9cf58d9f24afb7fa1f460921

整个架构分为五个部分,包括数据采集、数据集成、数据开发、数据运维、数据应用的工具。基于阿里云数加平台,怎么构建完整的大数据应用架构呢?首先得支持各种数据源,得有统一的、一站式的大数据开发工具来为我们提供数据开发、数据运维、治理等。此外,基于云服务有插件管理工具、大数据计算服务为我们提供计算引擎、数仓共享平台,实现数仓应用。

7affb7713416e544a3a547303f194870375be7a2

上图详细介绍了五部分中阿里云提供的产品所属的位置。MaxCompute处于整个计算平台的核心位置。其前面提供了基于云上数据、云下数据通过各种开放的方式集成到阿里云中、进行统一管理。Data IDE也为我们提供三个方面的能力支持。最后是推荐、BI报表分析、个性化展现的部分。

构建新型数据仓库

63e0171f86db5698539287438068295d7819a8a9

数据来源是基于阿里云的ECS、RDS、OSS,通过VPC和现有的数据中心打通,通过Data IDE的数据管理功能同步上来做数据仓库,进一步来做开发。MaxCompute区别于其他大数据平台,其SQL功能是内置的。

实现个性化推荐

1b96774216af7a3564e31e849ab0f9563df89333

在各种手机APP上,都有推荐功能。借助于机器学习,加上MaxCompute和推荐引擎就能一起构建个性化推荐方案。

使用效果

0eb6522c3852d7add949f2ceb9e9b8652ea28820

在阿里云上,已经有众多的客户使用MaxCompute,并且获益。

总结

1b1a72c5c9b6d3311049ecf0e461568346817fcd

新型的数据仓库平台发展到今天已经不是一个新的话题。在今天,我们更多的关注生产环节的事情、开发效率的问题。从这两个方面,选择MaxCompute的理由可以总结为:高性能带来的高性价比,整个运行和生产环节的稳定性,数据共享和安全的平衡,应用开发的复杂度,基于数加平台构建应用的方便。


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

IMG_3471



 6c4b69af9fd1b465628b63fcee73224de0b62357

阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 分布式计算 大数据
大数据计算MaxCompute怎么查看示例的id呢?
大数据计算MaxCompute怎么查看示例的id呢?
31 0
|
4月前
|
SQL 分布式计算 大数据
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
请问本地安装了大数据计算MaxCompute studio,如何验证联通性及基本DDL操作呢?
27 0
|
4月前
|
存储 SQL 分布式计算
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
数据计算MaxCompute读取外部表(数据在oss gz压缩)速度非常慢,有什么方法可以提升效率么?
48 1
|
1月前
|
SQL 分布式计算 监控
大数据计算MaxCompute等长时间没有查出来结果的原因可能有以下几点:
【2月更文挑战第24天】大数据计算MaxCompute等长时间没有查出来结果的原因可能有以下几点:
18 2
|
3月前
|
存储 分布式计算 大数据
MaxCompute:大数据计算的新篇章
MaxCompute:大数据计算的新篇章
44 2
|
4月前
|
存储 分布式计算 大数据
首批!阿里云MaxCompute完成中国信通院基于无服务器架构大数据平台测试
近日,阿里云计算有限公司MaxCompute产品顺利完成中国信通院首批无服务器架构(Serverless)大数据平台测试。
221 0
|
4月前
|
存储 分布式计算 大数据
开通大数据计算MaxCompute就能存储外表了吗?
开通大数据计算MaxCompute就能存储外表了吗?
27 0
|
4月前
|
分布式计算 大数据 调度
大数据计算MaxCompute怎么将一个Quota的资源优先供给给标准模式的生产库调度使用?
大数据计算MaxCompute怎么将一个Quota的资源优先供给给标准模式的生产库调度使用?
33 2
|
4月前
|
分布式计算 大数据 MaxCompute
大数据计算MaxCompute表字段a为string类型,里面存的数据格式为小数, 通过alter table是不能将这个字段a转为decimal类型吗?
大数据计算MaxCompute表字段a为string类型,里面存的数据格式为小数, 通过alter table是不能将这个字段a转为decimal类型吗?
35 0
|
4月前
|
SQL 分布式计算 大数据
大数据计算MaxCompute表字段a为string类型,里面存的数据格式为小数, 通过alter table是不能将这个字段a转为decimal类型吗?
大数据计算MaxCompute表字段a为string类型,里面存的数据格式为小数, 通过alter table是不能将这个字段a转为decimal类型吗?
49 0

相关产品

  • 云原生大数据计算服务 MaxCompute