【云栖 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/170157.html

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

相关文章

适合您的智能手机的 7 款优秀手机数据恢复软件分享

如今,我们做什么都用手机;从拍照到录音,甚至作为 MP3 播放器,我们已经对手机变得非常依恋。这导致我们在手机上留下了很多珍贵的回忆。 不幸的是,我们有可能会丢失手机上的部分甚至全部数据。幸运的是,这不…

使用大语言模型 LLM 做文本分析

本文主要分享 传统聚类算法 LLM与嵌入算法 嵌入算法聚类 LLM的其他用法 聚类是一种无监督机器学习技术,旨在根据相似的数据点的特征将其分组在一起。使用聚类成簇,有助于解决各种问题,例如客户细分、异常检测和文本分类等。尽管传统的聚…

济南数字孪生赋能工业制造,加速推进制造业数字化转型

济南数字孪生赋能工业制造,加速推进制造业数字化转型。数字孪生是指通过数字模型对现实世界进行模拟和描述,从而实现数字化转型的技术。数字孪生技术通过利用先进传感与测量技术、实时数据融合及分析技术、虚拟现实技术和仿真技术,在数字空间…

vs code git问题:文件明明已加入忽略文件中,还是出现

vs code git问题:文件明明已加入忽略文件中,还是出现 原因: 因为之前这些文件都已经提交过,线上GIT已经存在,已存在就不能忽略, 解决办法: 先要删除这些文件提交上去,然后把这些文…

企业级固态硬盘如何稳定运行?永铭固液混合铝电解电容来帮忙

企业级 固态硬盘 永铭固液混合铝电解电容 企业级固态硬盘(SSD)主要应用于互联网、云服务、金融和电信等客户的数据中心,企业级SSD具备更快传输速度、更大单盘容量、更高使用寿命以及更高的可靠性要求。 企业级固态硬盘的运行要求—固液混合电…

STM32:OLED屏幕开发

一、OLED原理 所谓的屏幕就是由一个个小灯组成,每个小灯称之为一个像素。只要在屏幕上有选择地点亮一部分小灯,就可以显示我们想要的图案。所谓下分辨率就是屏幕上的小灯数量。常见单片机中常见的屏幕分辨率常见的就是128(列长)*64(行高)。如果每个小灯都…

沸点 | Ultipa 图数据库金融应用场景优秀案例首批入选,金融街论坛年会发布

为推进图数据库在金融行业的创新应用试点,近日,在2023金融街论坛年会“全球金融科技中心网络年会暨ZIBS北京论坛”上,北京前沿金融监管科技研究院发布了基于国际标准组织——国际关联数据基准委员会(LDBC)的《图数据库…

NX二次开发UF_CAM_ask_blank_matl_db_object 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_blank_matl_db_object Defined in: uf_cam.h int UF_CAM_ask_blank_matl_db_object(UF_CAM_db_object_t * db_obj ) overview 概述 This function provides the database object which …

五、程序员指南:数据平面开发套件

服务质量 (QoS) 框架 本章介绍 DPDK 服务质量 (QoS) 框架。 21.1 带有 QoS 支持的数据包流水线 下图显示了一个具有 QoS 支持的复杂数据包处理流水线的示例 表21.1:带有 QoS 支持的复杂数据包处理流水线 这个流水线可以使用可重用的 DPDK 软件库构建。在这个流…

队列的实现和OJ练习

目录 概念 队列的实现 利用结构体存放队列结构 为什么单链表不使用这种方法? 初始化队列 小提示: 队尾入队列 队头出队列 获取队头元素 获取队尾元素 获取队列中有效元素个数 检测队列是否为空 销毁队列 最终代码 循环队列 队列的OJ题 …

FFmpeg常用命令行讲解及实战一

文章目录 前言一、学习资料参考二、FFmpeg 选项1、主要选项①、主要命令选项②、举例 2、视频选项①、主要命令选项②、举例1)提取固定帧2)禁止输出视频3)指定视频的纵横比 3、音频选项①、主要命令选项②、举例 4、字幕选项①、主要命令选项…

基于混沌博弈算法优化概率神经网络PNN的分类预测 - 附代码

基于混沌博弈算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于混沌博弈算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于混沌博弈优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

二分查找——34. 在排序数组中查找元素的第一个和最后一个位置

文章目录 1. 题目2. 算法原理2.1 暴力解法2.2 二分查找左端点查找右端点查找 3. 代码实现4. 二分模板 1. 题目 题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode) 给你一个按照非递减顺序排列的整数数组 nums&#…

python实战—核心基础2(数字大小写转换) lv1

目录 一、核心代码解释 二、代码 三、运行截图 一、核心代码解释 1、range函数 函数语法:range(start, stop[, step]) 参数说明: start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0&#x…

11.15 监控目录文件变化

监视对指定目录的更改,并将有关更改的信息打印到控制台,该功能的实现不仅可以在内核层,在应用层同样可以。程序中使用ReadDirectoryChangesW函数来监视目录中的更改,并使用FILE_NOTIFY_INFORMATION结构来获取有关更改的信息。 Re…

【Java】线程状态

1、线程状态 初始-NEW: Thread : 对象已经创建,但start 方法还没调用. 终止-TERMINATED: Thread 对象还在,内核中的线程已经没了 运行-RUNNABLE: 就绪状态(线程已经在 cpu 上执行了/线程正在排队等待上 cpu 执行) 超时等待-TIMED WAITING: 阻塞.由于 sleep 这种固定…

从暗黑3D火炬之光技能系统说到-Laya非入门教学一~资源管理

我不知道那些喷Laya没有浏览器,嘲笑别人编辑器做不好,是什么水平? 首先目前国内除了WPS和飞书,就没有第三家公司能把编辑器做好。 要是一般的游戏开发者,如我,有一点点引擎代码(某项目&#x…

时间序列预测实战(十七)PyTorch实现LSTM-GRU模型长期预测并可视化结果(附代码+数据集+详细讲解)

一、本文介绍 本文给大家带来的实战内容是利用PyTorch实现LSTM-GRU模型,LSTM和GRU都分别是RNN中最常用Cell之一,也都是时间序列预测中最常见的结构单元之一,本文的内容将会从实战的角度带你分析LSTM和GRU的机制和效果,同时如果你…

铝合金钻孔铣削去毛刺加工之高速电主轴解决方案

铝合金是一种轻质、高强度的材料,其出色的机械性能和良好的导电性、导热性使其在工业领域广受青睐特别是在航空、航天和汽车制造中,铝合金的身影更是随处可见。在铝合金加工过程中,高速电主轴可精准而高效地完成钻孔、铣削和去毛刺等任务&…

贪吃蛇游戏制作

首先在ecilsp里面创建两个包,启动和图形界面 在创建一个文件夹用来放图片 1.绘制图形界面 package com.snaketuxing.view;import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import …