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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 在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

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
98 1
|
3月前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
458 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
19天前
|
存储 负载均衡 大数据
大数据水平分区提高查询性能
【11月更文挑战第2天】
26 4
|
3月前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
148 11
|
4月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
4月前
|
人工智能 分布式计算 架构师
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
|
4月前
|
消息中间件 大数据 Kafka
"Apache Flink:重塑大数据实时处理新纪元,卓越性能与灵活性的实时数据流处理王者"
【8月更文挑战第10天】Apache Flink以卓越性能和高度灵活性在大数据实时处理领域崭露头角。它打破批处理与流处理的传统界限,采用统一模型处理有界和无界数据流,提升了开发效率和系统灵活性。Flink支持毫秒级低延迟处理,通过时间窗口、状态管理和自动并行化等关键技术确保高性能与可靠性。示例代码展示了如何使用Flink从Kafka读取实时数据并进行处理,简明扼要地呈现了Flink的强大能力。随着技术进步,Flink将在更多场景中提供高效可靠的解决方案,持续引领大数据实时处理的发展趋势。
103 7
|
4月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
70 0
|
4月前
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
585 0
|
4月前
|
大数据 RDMA
神龙大数据加速引擎MRACC问题之MRACC-Spark利用eRDMA近网络优化插件来提升性能如何解决
神龙大数据加速引擎MRACC问题之MRACC-Spark利用eRDMA近网络优化插件来提升性能如何解决
44 0

相关产品

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