【2023 云栖】阿里云刘一鸣:Data+AI 时代大数据平台建设的思考与发布

云布道师

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

演讲人:刘一鸣 | 阿里云自研大数据产品负责人

演讲主题:Data+AI 时代大数据平台应该如何建设

今天分享的主题是 Data+AI 时代大数据平台应该如何建设,这个话题既是对我们过去一年工作的反思和总结,同时也是希望通过这个反思和总结,不管大家是否使用阿里云的平台和技术,在未来大数据平台的选型、运维、创新上都可以有一些启发,同时也会思考未来大数据人的角色、工作方式是否有一些新的变化。

阿里云大数据的核心是两款分布式计算引擎,在 ODPS(Open Data Processing Platform)品牌之下,今天的分享也会更多围绕 ODPS 的两个核心引擎来讲(面向批量数据加工和海量存储的 MaxCompute、面向实时数仓以及交互式分析场景的Hologres)。下面进入正题,希望跟大家分享我们过去做平台时候的反思,什么能力是关键能力,以及今年我们做了哪些能力的提升。在这里插入图片描述
降本能力:灵活的付费模式驱动大数据成本的显著下降
降本能力是每个大数据平台的核心能力,特别是作为公共云上的服务方,我们不希望大家使用云上的大数据平台是一个成本的黑洞,越用越贵,每年老板说钱花哪里去还说不清楚,我们希望不仅给用户提供一个成本费用说得清楚用得明白的平台,也希望给用户提供一个通过正确使用产品可以不断降低单位拥有成本的平台。降本从不意味着要使用更便宜的规格,更少的资源,这会潜在牺牲平台的服务质量,不是正确的降本姿势,低价往往质量缺少保障,最后会收获更低质量的服务,更低质量的研发投入,最后导致平台无法维系。

合理的降本方式首先是选择合适的采购策略、付费策略,选择一个合适的技术。以MaxCompute 为例,平台提供多种付费方式,从比较经典的预付费或者叫包年包月,到用得最多的后付费或者叫按量付费的模型。预付费对预算控制更精确,费用提前说清楚,但资源使用受限制,无法满足临时性需求,也会产生闲置资源的空闲浪费。按量付费模型根据实际业务规模产生费用,无需提前做容量规划,但实际费用容易超出预算控制。现在我们希望把两种模式做一些结合。

我们看到大部分数据加工作业都具备一定的时间规律,夜间往往高峰期,早上上班看到计算结果,白天相对水位是低峰期,这里可以利用 MaxCompute 的分时弹性能力,日常低水位运行,高峰期弹性出来额外资源。分时弹性去年上线的,今年通过对库存管理的优化,实现库存效率上的提升,在 9 月 20 日开始 MaxCompute 弹性部分的 CU 单价直接降低 50%。如果一天有 8h 作业跑不满的情况,采用分时作业的方式一定是降本的,希望每个用户可以根据大家实际使用场景去选择分时策略。

原理类似 ECS 上的 Spot Instance,MaxCompute 今年推出了闲时作业,也通常叫做 SpotJob,定价直接是按量付费定价的三分之一,闲时作业是把大数据集群的闲置资源服务出来,不一定保障每天运行的时候都能得到一样的资源,执行一样快,在集群繁忙时会有更多的作业等待时间,但对于延时不敏感的作业,如历史数据的导入、日常开发调试作业的场景,通过使用闲时作业可以有效降本 66%。在这里插入图片描述
分时弹性既能满足弹性,也能满足预算的管理,那么该怎么设置是最优的?MaxCompute 发布了成本优化器,帮助用户分析过去 30 天所有作业的资源分布特征,展示出高峰期和低谷期,给出弹性策略应该怎么设计的建议。在弹性的基础上,我们给作业增加了一个关键的约束条件叫基线,基线之前的作业需要足够的资源保障,让结果准时计算出来,基线之后的作业可以跑慢一些,更节省资源和费用,这样就区分了作业的优先级和重要性。绝大部分用户使用成本优化器之后,通常有 20% 以上成本降低,建议大家可以尽快采用起来。

接下来我们谈谈存储如何降本。数据在实际使用时会分特征,有些数据是高频访问,数据的重要性有可能更高,有些数据是低频访问数据,一个月就读取一两次,有的数据是审计要求,不可以删除,一年不一定访问一次。数据有价值分配,那么我们的数据成本是否也应该有分层设计呢?当然。MaxCompute 为不同访问特征,不同价值数据提供不同的存储能力,分层存储提供了分层的单价。通过分层存储的方式可以看到一些低频访问的数据,长期访问的数据成本可以降到以前的三分之一

计算和存储可以通过平台的使用策略来节省成本,其实还可以通过存储技术的创新实现进一步的降本。JSON 是互联网上使用非常广泛的数据结构,半结构化,查询灵活,存储也方便,Schema 可以随时调整,但过去 JSON 如果用字符串去存储的时候,哪怕仅仅访问一个字节,也需要把几兆字节全部解析出来,对计算和IO都是极大的浪费。另一种方案是 JSON 数据落库前,提前进行 JSON 结构的打宽,需要大量的加工作业,也是对计算资源的浪费。

如何有效提升 JSON 数据类型的存储和访问效率成为大数据平台的关键能力,今年包括 MaxCompute 和 Hologres,都提供 JSON 原生化的管理能力,包括元数据支持和存储列式压缩,把半结构化作为一级处理类型来支持,在用户实践中,绝大部分用户的 JSON 存储成本会降到以前的五分之一,而且查询会变得更快

轻运维能力:Serverless 变革大数据运维模式
云上大数据平台,应该提供运维足够简单易用,把脏活累活帮助使用者运维掉,帮助大数据工程师实现角色升级,从过去相对被动每天考虑系统平台的稳定性、扩展性、资源如何分配、备份、容灾、升级、修 bug 这些脏活累活中解脱出来,转变成数据的分析师,变成AI专家,变成领域专家,而不是做重复的运维工作。

我们认为 Serverless 架构是解决运维问题的关键,那么如何做 Serverless 架构呢?从大数据架构上讲,通常我们分三种:1.Shared-Nothing 架构,存算一体。通过节点之间的横向扩展,实现计算力和存储能力的提升。2.Shared-Everything,计算存储全部解耦开来,所有的资源都可以共享。3. Shared-Data,Data 部分是共享,计算部分隔离开来,提供更好的隔离能力。每个技术会选择不同架构。

MaxCompute 选择 Shared-Everything,对平台侧的隔离技术实现要求很高,对运维侧、调度侧要求更高,所有计算资源、存储资源是共享在统一的公共集群里。Hologres 选择 Shared-Data 架构,这个系统需要更多考虑在线服务场景下资源的隔离和稳定性,所以不同系统选择不同架构。

这个架构背后我们会把整个集群当做一个统一的计算资源来管理。对用户来说最大价值是,不仅是使用成本的降低,不需要提前做容量规划,更重要的是,不需要处理复杂的升级运维,让用户可以实现零停机的方式实现版本的迭代,这都是 Serverless 架构创造的价值,平台侧希望把脏活累活,包括升级、备份、灾备、弹性这些事情通过架构的方式把它解决,这也是 Serverless 背后核心的理念。

大家过去讲 Serverless 更多讲资源上省钱,只为使用的资源付费,而我相信Serverless 更多是把运维方式转变,让工程师更聚焦到价值的创造上。在这里插入图片描述
Hologres 在 Serverless 架构上一直演进,今年提出了弹性计算组的概念,这个计算组概念背后是共享数据,共享接入层,但在计算节点上做了资源切分,当不同业务团队使用同一份数据的时候,每个团队可以为自己的使用场景去弹性分配资源,同时保障数据的一致性,支持实时写入,实时查询,这是在 Hologres 上做的创新。

开放能力:湖仓一体与开放性
在谈到大数据平台的开放性时,更多讲 Open Storage + Open Format,今天阿里的大数据平台希望做到更多一层。云计算对技术的开放性要求会更高,一方面云厂商不希望自己变成绑架用户的角色,MaxCompute 也不希望大家使用之后就被绑架在平台上,不可以切换。另一方面云平台上不同技术之间交互的强度、密度是远大于线下的,技术之间需要分钟级部署,分钟级打通,用户对技术的交互性要求很高,我们希望把开放性做得很彻底,我们不希望把创新只放在自己手里,我们希望把创新交还给用户

首先,阿里云的大数据完全拥抱 Open Storage + Open Format,提供了湖仓一体的解决方案,为用户提供接近原生的元数据管理和数据读写体验。对于什么是湖仓一体,行业内有两个思路,一个是在湖上长出一个仓,把湖变成仓。典型特点是把湖上的数据结构提供更好的更新能力,接近数据库的开发体验。另一个方式从仓的管理能力拓展外表能力,实现湖上半结构化、非结构化数据以元数据方式管理起来,相当于仓去管理湖,这也是湖仓一体的形态。MaxCompute 是第二种形态,用仓去管湖,把存在 OSS 上的 Hudi 格式、Delta Lake 等格式,包括今年阿里自己创新的 Paimon 格式,都可以在 MaxCompute 和 Hologres 中作为外表直接访问。同时也做了一些创新,把 OSS上 的非结构化文件定义为抽象的目录表,这样在数仓里可以用更加精细化的安全管控方式去做授权,哪些用户可以访问哪些文件,怎么访问,包括审计都可以记录下来。

湖仓一体最关键是元数据的管理,数据不管存在仓上、湖上,需要有一个统一的视图可以看到所有的元数据,数据被谁定义,数据怎么解析,这是湖仓一体核心的概念,而并不是一定是一个系统还是两个系统。在这里插入图片描述

MaxCompute 今年在开放性上有很大的变化。大家过去认为仓的理念是数据计算都在这儿,但我们今天希望把 MaxCompute 存储作为独立的产品形态对外提供服务,把Storage这一层提供产品化的能力,提供 Storage API,支持高吞吐、高性能的原生 IO 接口。不管使用机器学习的 PAI 平台还是使用 Spark、Presto,都可以像MaxCompute 原生的 SQL 引擎一样去访问仓里的数据,我们希望把自研大数据平台的数据开放出去,支持用户使用第三方引擎持续创新。

智能优化能力:AI 加持的智能数仓
过去做优化的时候很依赖于 DBA 同学对一个数仓技术原理的理解,在云的时代,用户把数据托管到云平台上,云平台就有很大责任帮助用户做好优化这件事。我们希望从过去基于经验的运维向智能化运维前进。

比如 MaxCompute 通过物化视图把公共的 SQL 计算子集推荐出来,实现资源的复用,这是一种空间换时间非常有效的方法。经过一年多时间的迭代,在推荐效率上已经做了很大的改进,绝大部分推荐出来的物化视图质量都是很高,可以做到成本的节省和效率上的提升。

大数据成为 AI 的基础设施
今年 AI 很热,很多了不起的创新,但其实 AI 的创新中,大数据也扮演了关键的基础设施角色。同时我们也希望用了云上大数据平台的用户,不需要再做那些低效繁重的运维工作,而是更多做一些 AI 上的场景和应用创新。我们也提出了大数据 AI 一体化,事实上大数据 AI 是各有分工,大数据为 AI 提供数据的支撑,这包括大数据平台要做好规模数据的处理,提供分布式计算框架,提供科学计算的一站式开发环境,其次机器学习平台也会为大数据平台提供优化的算法、优化的模型。在这里插入图片描述
在过去 SQL 的基础上,我们认为 Python 也应该成为 MaxCompute 平台的一级开发语言。MaxCompute 全新发布,One Env+One Data+One Code,这背后核心就是提供一个 Python 的运行环境,一个Notebook的交互式开发体验,让有 SQL 基础的同学,有 Python 经验的同学,需要利用 Python Library 进行数据处理的场景,可以在统一的开发环境下,实现高效率的开发和调试,实现 Python 和coMaxCompute 数据的原生打通。

全面升级 DataFrame 能力,发布分布式计算框架 MaxFrame,100% 兼容 Pandas 等数据处理接口,通过一行代码即可将原生 Pandas 自动转为 MaxFrame 分布式计算,打通数据管理、大规模数据分析、处理到 ML 开发全流程,打破大数据及 AI 开发使用边界,大大提高开发效率。

最后讲下向量数据库,Hologres 内置达摩院向量引擎 Proxima,支持高性能、实时化的向量检索服务。使用 SQL 接口可以访问向量数据,在原有交互式分析场景下帮助大家更好使用 AI 场景。

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

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

相关文章

org.Hs.eg.db使用--持续修改

org.Hs.eg.db使用–持续修改 加载 library(org.Hs.eg.db)1 基本信息查询 1.1 display the columns columns(org.Hs.eg.db) [1] "ACCNUM" "ALIAS" "ENSEMBL" "ENSEMBLPROT" "ENSEMBLTRANS" "ENT…

C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达

目录 一、抽象类 1.示例 二、抽象方法 三、接口 1.示例 2.内联表达治愈警告CA1859 (1)传统程序书写源码 (2)内联后的源码 四、多重继承 1.示例 五、显式接口成员实现 1.示例 六、总结 赠人玫瑰,手有余香&…

梅见们要靠“年轻化”突围,但代理商们面对新酒饮还需冷静

文 | 螳螂观察(TanglangFin) 作者 | kinki 沉寂了三年之后,今年酒行业再度热闹了起来,大大小小的展会接连落地,各大酒企都在忙着探索新模式、处理客情、选品招商……想要将过去三年的业绩追回来。 对于酒行业的代理…

MySQL数据库面试题总结(2022最新版)

🐶 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 1️⃣ 篇文章,该系列将整理和梳理笔者作…

EasyExcel 注解fillForegroundColor

EasyExcel 注解fillForegroundColor 对应的颜色值 /** * 样式的数据类 * * author leiyiDong **/ Data // 头背景设置成红色 IndexedColors.RED.getIndex() HeadStyle(fillPatternType FillPatternType.SOLID_FOREGROUND, fillForegroundColor 10) // 头字体设置成20 Hea…

大数据Doris(二十八):Routine Load查看和修改作业

文章目录 Routine Load查看和修改作业 一、​​​​​​​查看导入作业状态

Audition 2024 24.0.0.46(音频剪辑)

Audition 2024是一款非常棒的音频编辑和混合软件,提供了广泛的工具和功能,用于创建、编辑、混合和设计音效。这款软件旨在加速音频和视频制作工作流程,提供具有原始音效的高质量混音。其界面构成清晰,操作简便,适合专业…

Linux下载工具XDM下载安装与使用

Windows上IDM多线程下载非常强大,即能捕捉页面上的视频、图片、音频,又能作为浏览器下载器使用,但是IDM无法在Linux下使用,除非使用wine。不过我们可以在Linux中用XDM(Xtreme Download Manager)代替IDM。 1、XDM下载 Xtreme Dow…

Java的ArrayList中关于删除的常用操作及方法

目录 remove(int index)方法 remove(Object o)方法 removeAll​(Collection c)方法 removeIf​(Predicate filter)方法 removeRange​(int fromIndex, int toIndex)方法 remove(int index)方法 remove(int index)是ArrayList类中用于删除指定位置元素的方法。它接收一个整…

小程序Canvas 2D问题解决,如安卓drawImage不执行、动态高度设置、高度1365(或4096)限制等

我的最新版小程序想在绘制时使用自定义字体,需要将旧版canvas升级到2d新版,发现了许多问题,下面记录一下并提供解决思路,仅供参考,欢迎提供新思路。 一、开发工具和安卓上drawImage不执行,绘制出来是空白&…

聊聊tomcat的connection-timeout

序 本文主要研究一下tomcat的connection-timeout ServerProperties.Tomcat org/springframework/boot/autoconfigure/web/ServerProperties.java public static class Tomcat {/*** Access log configuration.*/private final Accesslog accesslog new Accesslog();/*** Th…

github批量仓库克隆,git clone某个用户的所有仓库

利用github的api工具, 首先拿到用户名为kevin的所有仓库的url: curl "https://api.github.com/users/kevin/repos?per_page100&&page1" | grep -w clone_url >clone.txt过滤一下: grep -o https://[^"]* clone…

DM8单点_闪回查询报错flashback version has been out of date

问题描述 误操作后,闪回查询到某一时间点提示:“[-9801]:flashback version has been out of date.” SQL> SELECT * FROM PERSON_TYPE WHEN TIMESTAMP 2023-11-23 18:51:41; SELECT * FROM PERSON_TYPE WHEN TIMESTAMP 2023-11-23 18:51:41; [-9801]:flashbac…

redis运维(十九)redis 的扩展应用 lua(一)

一 redis 的扩展应用 lua redis如何保证原子操作 说明:引入lua脚本,核心解决原子性问题 ① redis为什么引入lua? lua脚本本身体积小,启动速度快 ② redis引入lua的优势 小结: 类似自定义redis命令 ③ redis中如何使用lua ④ EVAL 说明&#…

性能测试的指南:测试类型、性能测试步骤、最佳实践等!

近期公司为了节省成本搞了一波机房迁移,整合了一些南美部署架构。有一些上google云和有些下阿里云等大的调整。 在做机房迁移项目当中就需要思考如何进行性能测试,这种大的机房迁移SRE(运维)会针对组件会做一些单组件的性能测试&a…

【深度学习】参数优化和训练技巧

寻找合适的学习率(learning rate) 学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可…

6.2.SDP协议

那今天呢?我们来介绍一下sdp协议,那实际上呢?sdp协议非常的简单。我们如果拿到一个stp的文档去看的话,那你要分阅里边的所有的内容会觉得很枯燥,但实际上呢,如果我们按照这张图所展示的结构去看stp的话。你…

Javascript每天一道算法题(十四)——合并数组区间_中等

文章目录 1、问题2、示例3、解决方法(0)方法0——双指针(错误思路)(1)方法1——双指针(正确) 总结 1、问题 以数组 intervals 表示若干个区间的集合,其中单个区间为 inte…

怎么读一个网络的代码

1.网络代码怎么来的? 我想要实现一个功能,这个功能是输入一张图像,返回一个类别结果。 所以很明确就有三个部分,一个是接受图像输入,一个是处理图像得到处理结果,一个是对处理结果判断生成结果。 现在想要使…