【云栖2023】张治国:MaxCompute架构升级及开放性解读

简介: 本文根据2023云栖大会演讲实录整理而成,演讲信息如下

演讲人:张治国|阿里云智能计算平台研究员、阿里云MaxCompute负责人

演讲主题:MaxCompute架构升级及开放性解读

活动:2023云栖大会

MaxCompute发展经历了三个阶段:MaxCompute1.0,主旨是达到大规模的数据处理能力,在性能和规模上提供给用户一个分布式处理平台;MaxCompute2.0,主旨是Serverless,强调弹性和性价比;MaxCompute3.0阶段主旨一体化,包括湖仓一体、离线实时一体化等。

在这里插入图片描述

在整个MaxCompute发展过程中,可以从五个维度看一下数仓的发展趋势;

  1. 随着现代数据驱动各个不同业务的发展,数据规模越来越大;
  2. 在不同规模下,应用越来越多元化,其中包括数据结构化、半结构化和非结构化,应用随着AI的兴起,AI的应用也越来越多,对数仓的要求也会越来越高;
  3. 数据的实时性、时效性要求越来越高,我们需要更多做数据实时大批量的流式导入、实时数仓这方面的工作;
  4. 对数据的准确性要求也越来越高,我们需要大规模数据治理、质量控制这方面的工作;
  5. AI兴起,大家都围绕着数据来做业务决策,怎么从现有数据中产出更高的价值,这也是大家对数仓发展的一个越来越高的要求;

围绕这五个不同发展趋势,阿里云提出MaxCompute4.0开放一体架构,围绕近实时,开放性、性价比、Data+AI一体化等多维度进行升级。

在这里插入图片描述

MaxCompute4.0开放一体架构,底层数据高并发、实时流式数据导入,数据同时可以选择导入到MaxCompute自己的盘古存储系统,也可以导入到OSS一些开放数据结构中,内置存储选用的是自己的AliORC。在这之上设计了统一的语言数据管理服务,可以纳管内置的存储数据,同时可以通过DF同时管理OSS和HDFS上面的开放数据结构。通过一个开放存储的服务,提供一个统一的接口给上层不同计算引擎做不同业务场景下的计算要求。再往上使用弹性计算资源调度,可以很容易调度不同的计算引擎在整个计算平台上去计算数据。最上层是对接不同的开发平台和数据应用。

MaxCompute 4.0 开放性升级:开放存储及计算架构

MaxCompute 4.0的开放性升级有两方面,一个是开放存储,一个是开放计算架构。开放存储我们希望把内置的数据格式能够通过开源内存格式提供给不同计算引擎。开放计算架构希望内置计算引擎可以通过同样一个API可以高效访问数据湖上的数据。

开放结构最主要提供的价值因为现在用户的应用、计算各个不同场景需要不同的计算引擎和不同的计算方式,MaxCompute 提供灵活开放的开源大数据AI引擎的计算方式给不同应用。并且在这种开放场景下,我们也可以提供比较灵活的计算资源。

在这里插入图片描述

如上图所示,左边是比较通用的一些场景,如果大家已经用了MaxCompute现代一些计算,同时需要一些AI计算或者一些其他计算,可以通过Storage API对接底下统一的数据源做不同的计算,这样可以提供一个数据零拷贝,不需要为了不同计算把数据拷贝出去放到不同地方然后做计算。另外我们希望能够提供统一的管理可以纳管不同的数据源,大家在云上或者别的地方有自己的计算资源也可以用自己的计算资源对接自己的数据做不同的计算。

现在数据的实时性方案很多在用的都是Lambda架构的模式,Lambda架构全链路数据治理都有很多痛点,这中间会有一些数据融合、数据一致性问题。在MaxCompute4.0升级的时候,做了近实时处理框架的发布,达到一份数据一份code,可以低成本低运维统一实施和批量处理链路。整个架构我们用一个统一的数据组织结构和数据管理,在这上面能够有统一的计算框架,大家不用在实时和离线框架上用不同计算引擎,最终实现所有数据不管实时还是离线都有统一的语言数据管理。

MaxCompute 4.0 致力于通过技术全方位提升性价比

随着AI的兴起,数据规模越来越大,用户对数据计算的性价比方面有更高的追求,MaxCompute4.0在过去一年,一直致力于做全方面的性价比提升。

计算高性能方面,SQL引擎方面在不断提高。在HBO/HBS根据历史查询数据,历史的统计信息我们能做更好的数据优化及查询优化,并且通过资源调度的优化提高性能。大家都知道大规模数据处理的时候,最主要的核心步骤是数据的shuffling,我们做了很多工作来提高整个数据shuffle性能。除此之外,MaxCompute4.0还尝试通过推荐能够帮助大家做一些物化视图的总结,根据物化视图消除重复性的计算。

在低成本方面,根据数据的冷热,访问的不同频率做到了分层存储。通过JSON半结构化数据的列存,实现更好的压缩。

在性价比方面,MaxCompute通过弹性资源调度、自适应SQL引擎、存储优化、智能数仓四个方面技术优化,实现了弹性CU最终降价50%。

在这里插入图片描述

  • 弹性资源调度:当用户根据包年包月处理会有很多空闲时候,虽然没有用计算资源但是这个计算资源还是会算到里面去,如果有弹性资源就可以比较贴切计算的模型,根据不同时间段给不同的quota,从而达到降本增效。后面我们根据你的历史,比如过去三个月使用情况做一些不同的资源变配的推荐,满足资源降低成本的能力。
  • 自适应的SQL引擎:我们做了更多的工作,可以分成stage和stage之间的自适应优化。在同一个stage不同算子之间我们也可以做到不同自适应算法。
  • 存储优化:我们自研内部的数据格式AliORC,跟一些比较通用的parquet和ORC格式对比,测试结果显示读写性能是其2-6倍,压缩比我们比他们高大概30%。我们会根据你数据的访问频次能够自动推荐你在哪些数据可以做冷存数据,提供更高性价比的存储优化。
  • 智能数仓:自研大数据对比开源大数据最大的区别就是我们是一个自闭环,能够做自动优化,将历史数据统一放到我们的原仓数据里,根据原仓信息,可以自动做一些存储方面和计算方面不同的优化。

MaxCompute 4.0 Data+AI:One Env+One Data+One Code

AI是一个新的浪潮,过去一年我们对数仓和AI如何结合做了很多思考。AI整个应用的生命周期是数据收集、数据清洗、数据预处理、数据训练、数据推理。有数据表明,大家认为80%的时间花在数据的处理上,数据处理有很多痛点:

  • 大数据开发和AI开发是两个割裂的环境; 大数据开发很多时候大家用SQL,但是AI现在更多的用Python开发环境。
  • AI更关注AI计算引擎; 对数据的大规模并发处理和分布式处理的能力有所欠缺,很多时候用户要在自己本地做数据清理,或者找数据开发师去做数据处理。
  • 数据来源比较多样化; 很多数据大家会放在数据湖上,没有一个统一的数据管理的平台能够帮忙做数据管理,今天你处理了数据,而另外一个人需要产生非常相近的数据,但他不知道你这已经处理了这份数据他有可能重新跑一遍,不光花了时间也花了资源。
  • 开发迭代效率低; 因为两套系统,导致整个开发链路都比较长,效率低下。

在这里插入图片描述

我们希望能够从数仓方面帮助用户解决那些痛点。MaxCompute 4.0主旨实现,One Env+One Data+One Code,这背后核心就是提供一个Python的开发环境,一个Notebook的开发体验。在Data For AI方面,MaxCompute全面升级DataFrame能力,发布分布式计算框架MaxFrame,100%兼容Pandas等数据处理接口,通过一行代码即可将原生Pandas自动转为MaxFrame分布式计算,打通数据管理、大规模数据分析、处理到ML开发全流程,打破大数据及AI开发使用边界,实现大数据AI开发一体化,大大提高开发效率。

另外在AI For Data方面,我们提供一个Python大数据处理,这样我们更容易使用一些丰富的AI和ML一些模型来做更好的数据挖掘和分析。

回头看整个MaxCompute4.0,我们希望做到数据的开放,计算引擎的包容,能够满足各种不同的数据计算场景的需求,以及根据数据实时性会增加增量计算的能力,满足大家对数据实时性的要求。后续MaxCompute也会持续在开放架构、增量处理、Data+AI三个方向持续发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/125595.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络基础(1)

目录: 1.了解局域网(LAN)和广域网(WAN) 2.认识“协议” 3.浅谈OSI七层模型 4.网络传输的基本流程 5.路由器这个设备 ---------------------------------------------------------------------------------------…

手写一个Webpack,带你了解构建流程

如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 前言 Webpack是一个强大的打包工具,拥有灵活、丰富的插件机制,网上关于如何使用Webpack及Webpack原理分析的技术文档层出不穷。最近自己也是发现…

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测 目录 回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现PCA-PLS主成分降维结合偏小二乘回归预测(完整源码和数据) 1.输…

【19】c++11新特性 —>线程异步

什么是异步? async的两种方式 //方式1 async( Function&& f, Args&&... args ); //方式2 async( std::launch policy, Function&& f, Args&&... args );函数参数: f:任务函数 Args:传递给f的参数 policy:可调用对象f的…

微信的通讯录联系人,有没有什么办法导出来做备份

6-10 这是可以做到的,并且很简单,对于需要把微信通讯录备份出来,或者离职交接的人来说,本文非常适合阅读,只是一个简单的方法,即可快速地把微信的通讯录搞出来,本质其实就是使用正确的工具就行…

C++指针访问数组 函数中用指针传参

用指针访问数组 在函数中用指针传参

2023 年最新腾讯官方 QQ 机器人(QQ 群机器人 / QQ 频道机器人)超详细开发教程

注册 QQ 开放平台账号 QQ 开放平台是腾讯应用综合开放类平台,包含 QQ 机器人、QQ 小程序、QQ 小游戏 等集成化管理,也就是说你注册了QQ 开放平台,你开发 QQ 机器人还是 QQ 小程序都是在这个平台进行部署上线和管理。 如何注册 QQ 开放平台账…

小程序day05

使用npm包 Vant Weapp 类似于前端boostrap和element ui那些的样式框架。 安装过程 注意:这里建议直接去看官网的安装过程。 vant-weapp版本最好也不要指定 在项目目录里面先输入npm init -y 初始化一个包管理配置文件: package.json 使用css变量定制vant主题样式&#xff0…

记误删Linux的python与yum

根据各路大神的方法整理一下自己解决的步骤 注意:不要手贱删python2!想用python3就安装并用python3命令 重新安装python2 查看系统版本: cat /etc/redhat-release进入默认的安装地址:注意查看一下rpm文件是不是删干净了&#x…

Python---列表的循环遍历,嵌套

循环遍历就是使用while或for循环对列表中的每个数据进行打印输出 while循环&#xff1a; list1 [貂蝉, 大乔, 小乔]# 定义计数器 i 0 # 编写循环条件 while i < len(list1):print(list1[i])# 更新计数器i 1 for循环&#xff08;推荐&#xff09;&#xff1a; list1 [貂…

Spring Boot 3.0正式发布及新特性解读

目录 【1】Spring Boot 3.0正式发布及新特性依赖调整升级的关键变更支持 GraalVM 原生镜像 Spring Boot 最新支持版本Spring Boo 版本版本 3.1.5前置系统清单三方包升级 Ref 个人主页: 【⭐️个人主页】 需要您的【&#x1f496; 点赞关注】支持 &#x1f4af; 【1】Spring Boo…

2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…

phpstudy本地快速搭建网站,实现无公网IP外网访问

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

使用ESP8266构建家庭自动化系统

随着物联网技术的不断发展&#xff0c;家庭自动化系统变得越来越受欢迎。ESP8266是一款非常适合于构建家庭自动化系统的WiFi模块。它小巧、低成本&#xff0c;能够实现与各种传感器和执行器的连接&#xff0c;为家庭带来智能化、便利化的体验。在本篇文章中&#xff0c;我们将向…

有关python库

官方库 #1、导入某模块 import os #2、导入OS模块中的system方法 from os import system #3、导入某模块中的孙子模块中的xx方法&#xff0c;并重命名 from module.xx.xx import xx as rename #4、导入OS中的所有模块 #不用进行OS.method(),直接method&#xff08;&#xff0…

【网络】epoll理论 + 实践(LT模式服务器和ET模式服务器)详细讲解

epoll 前言正式开始epoll相关的接口epoll_createepoll_ctlepoll_wait epoll原理硬件上的数据是怎么交给上层的创建epoll模型epoll模型中的红黑树epoll中的就绪队列回调方法前面三个接口在模型中的体现一些细节 编写epoll服务器小组件正式开始编写对epoll接口进行封装epoll_crea…

API低代码开发应用场景

什么是API低代码开发平台 API低代码开发平台是一种基于低代码开发的技术平台&#xff0c;它可以帮助企业快速构建和部署API应用程序。该平台通过提供可视化的开发工具、预定义的组件和模板、自动化的代码生成等功能&#xff0c;使得开发者可以在不需要编写大量代码的情况下&am…

【Java】Netty创建网络服务端客户端(TCP/UDP)

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Netty创建网络服务端客户端示例。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更…

HTML+CSS、Vue+less+、HTML+less 组件封装实现二级菜单切换样式跑(含全部代码)

一、HTMLCSS二级菜单 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

Tcl语言:基础入门(一)

Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 Tcl语言是一种脚本语言&#xff0c;类似于Bourne shell(sh)、C shell&#xff08;csh&#xff09;、Bourne-Again Shell(bash)等UNIX shell语言。Shell程序主要作为胶水缝合其他…