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

news2024/10/7 12:19:50

简介: 本文根据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三个方向持续发展。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springcloud二手交易平台系统源码

开发技术: 大等于jdk1.8,大于mysql5.5,idea(eclipse),nodejs,vscode(webstorm) springcloud springboot mybatis vue elementui mysql 功能介绍: 用户端&…

视频剪辑高手的秘诀:如何从视频中提取封面,提高视频点击率

在视频分享平台上,一个吸引人的封面往往能吸引更多的观众点击。一个好的封面可以传达视频的主题,吸引人们的兴趣,提高视频的点击率。那么,如何从视频中提取封面呢?下面,让我们一起来看看云炫AI智剪如何操作…

消息中间件 - RocketMQ基础

一个进程内能够创建的线程数量是有限的。 所有中间件的目的: 性能效率上的一个提升代理:帮你去完成一些额外的事情 MQ介绍 MQ概述 MQ全称Message Queue(消息队列),是在消息的传输过程中保存消息的容器&#xff0…

直接插入排序(图解+c语言代码实现)

直接插入排序(一种稳定的排序方法) 算法思想:每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止; 下面为代码实现(每一次将需…

对称二叉数[简单]

优质博文:IT-BLOG-CN 一、题目 给你一个二叉树的根节点root, 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出&#xff…

商越科技:渗透测试保障平台安全,推动线上采购高效运转

商越科技是数字化采购解决方案提供商,在同赛道企业中始终保持前列。商越科技通过自主研发的智能采购中台、SaaS应用及运营服务等为企业搭建专属的互联网采购平台,帮助企业实现采购数字化以及智能化转型,提高工作效率、降低采购成本。 打造数字…

基于单片机设计的智能风扇(红外线无线控制开关调速定时)

一、项目介绍 在炎热的夏季,风扇成为人们室内生活中必不可少的电器产品。然而,传统的风扇控制方式存在一些不便之处,比如需要手动操作开关、无法远程控制和调速,以及缺乏定时功能等。为了解决这些问题,设计了一款基于…

数据库数据恢复—无备份,未开启binlog的MySQL误删除怎么恢复数据

数据库数据恢复环境: 一台本地windows sever操作系统服务器,服务器上部署mysql数据库单实例,引擎类型为innodb,表内数据存储所使用表空间类型为独立表空间。无数据库备份,未开启binlog。 数据库故障&分析&#xf…

flink1.18.0 自适应调度器 资源弹性缩放 flink帮你决定并行度

jobmanager.scheduler Elastic Scaling | Apache Flink 配置文件修改并重启flink后,webui上会显示调整并行度的按钮,他可以自己调整,你也可以通过webUI手动调整: 点击 之后: 调整完成后:

uniapp实现在线PDF文件预览

下载pdf文件放在static文件夹下 bug&#xff1a;hbuildX创建的项目pdf文件夹可以放在根目录下面&#xff0c;但是cli创建的项目无法预览&#xff0c;只能放在static下面 按钮跳转预览页面 <button click"toPdf">pdf</button>methods: {toPdf() {uni.…

50代码审计-PHP无框架项目SQL注入挖掘

代码设计分为有框架和无框架 挖掘技巧&#xff1a;随机挖掘&#xff0c;定点挖掘&#xff0c;批量挖掘&#xff08;用工具帮助扫描探针&#xff0c;推荐工具&#xff1a;fortify&#xff0c;seay系统&#xff09;。 1.教学计划&#xff1a; ---审计项目漏洞 Demo->审计思…

【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx

在github上&#xff0c;创建了token&#xff0c;推送代码报没权限 #设置token git remote set-url origin <your.token>github.com/<your.name>/hello-git.git#推送代码 #git push -u origin main remote: Permission to xxx/hello-git.git denied to xxx. fatal:…

xlua游戏热更新(C#访问lua)

xlua作为Unity资源热更新的重要解决方案api&#xff0c;在Tecent重多游戏中被采用&#xff0c;本文通过案例去讲解xlua代码结构层次。 /** Tencent is pleased to support the open source community by making xLua available.* Copyright (C) 2016 THL A29 Limited, a Tence…

WPF中数据绑定验证深入讲解

WPF中数据绑定验证深入讲解 WPF在用户输入时&#xff0c;提供了验证功能&#xff0c;通常验证使用以下两种方式来实现&#xff1a; 在数据对象中引发错误。通常是在属性设置过程中抛出异常&#xff0c;或者在数据类中实现INotifyDataErrorInfo或IDataErrorInfo接口。在绑定级…

【docker容器 redis密码没有生效解决办法】

遇到的问题&#xff1a;启动docker版本redis认证失败&#xff0c;导致web端启动失败 报错内容如下 redis.exceptions.ResponseError: AUTH called without any password configured for the default user. Are you sure your configuration is correct? 做的一系列操作&…

野火霸天虎 STM32F407 学习笔记_4 构建库函数尝试;使用固件库点亮 LED 灯

构建库函数 创建一个通用的模板&#xff0c;后面写程序直接使用这个模板。 $ ls Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2023/11/8 23:27 Libraries d----- …

Django文件配置、request对象、连接MySQL、ORM

文章目录 Django静态文件及相关配置静态文件前言静态文件相关配置 form表单request对象request请求结果GET请求POST请求 pycharm连接数据库Django连接MySQLDjango ORM简介 Django静态文件及相关配置 在此篇博客我将以一个用户登录页面来引入相关知识 首先我们先编写一个html页面…

【计算机网络笔记】网络层服务模型——数据报网络

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

不可忽视的国外服务器地址IP选择指南

​  在如今互联网高速发展的时代&#xff0c;海外服务器扮演着重要的角色。选择合适的国外服务器IP地址却是一项复杂而又关键的任务。本文将为您介绍一些不可忽视的国外服务器地址IP选择指南。 私有IP地址&#xff1a; 私有IP地址是指在局域网内使用的IP地址&#xff0c;用于…

vue Sts认证后直传图片到阿里云OSS

后端进行sts认证生成临时身份凭证&#xff0c;前端通过凭证直传图片等文件到OSS中 一 OSS配置 增加用户和角色&#xff0c;创建OSS bucket 1.1 添加用户 登录阿里云管理控制台&#xff0c;右侧头像&#xff0c;进入访问控制 点击左侧导航栏的身份管理的用户&#xff0c;点击…