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

news2024/9/22 19:30:52

云布道师

本文根据 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.coloradmin.cn/o/1244851.html

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

相关文章

python+django高校科研项目管理系统2u3mx

高校科研项目管理系统采用拟开发的高校科研项目管理系统通过测试,确保在最大负载的情况下稳定运转,各个模块工作正常,具有较高的可用性。系统整体界面简洁美观,用户使用简单,满足用户需要。在因特网发展迅猛的当今社会,高校科研项目管理系统必然会成为在数字信息化建设的一个重…

51单片机应用从零开始(七)·循环语句(if语句,swtich语句)

51单片机应用从零开始(一)-CSDN博客 51单片机应用从零开始(二)-CSDN博客 51单片机应用从零开始(三)-CSDN博客 51单片机应用从零开始(四)-CSDN博客 51单片机应用从零开始(…

【数据结构(C语言)】浅谈栈和队列

目录 文章目录 前言 一、栈 1.1 栈的概念及结构 1.2 栈的实现 1.2.1. 支持动态增长的栈的结构 1.2.2 初始化栈 1.2.3 入栈 1.2.4 出栈 1.2.5 获取栈顶元素 1.2.6 获取栈中有效元素个数 1.2.7 检查栈是否为空 1.2.8 销毁栈 二、队列 2.1 队列的概念及结构 2.2 队…

将 Spring 微服务与 BI 工具集成:最佳实践

软件开发领域是一个不断发展的领域,新的范式和技术不断涌现。其中,微服务架构和商业智能(BI)工具的采用是两项关键进步。随着 Spring Boot 和 Spring Cloud 在构建强大的微服务方面的普及,了解这些微服务如何与 BI 工具…

基于51单片机音乐盒设计( proteus仿真+程序+原理图+PCB+报告+讲解视频)

音乐盒 主要功能:仿真原理图PCB图程序设计:设计报告实物图资料清单(提供资料清单所有文件):资料下载链接: 基于51单片机音乐盒仿真设计( proteus仿真程序原理图PCB报告讲解视频) 仿真图proteus …

在两个java项目中实现Redis的发布订阅模式

如何在两个java项目中实现Redis的发布订阅模式? 1. Redis简介2. 发布订阅模式介绍3. 实现思路4. 代码实现及详细解释4.1. RedisUtil4.2. Publisher4.3. Subscriber4.4. 运行程序 目录: Redis简介发布订阅模式介绍实现思路代码实现及详细解释 1. Redis简…

Ps:参考线

参考线 Guides用于帮助精确地定位图像或元素,显示为浮动在图像上的非打印线,可以移动或移除,还可以临时锁定。 Ps 中的参考线可分为三大类:画布参考线、画板参考线和智能参考线。 可在“首选项/参考线、网格和切片”中设置参考线的…

利用MATLAB进行矩阵运算

一、画出y1/(x3)的函数曲线,x∈[0, 200]。 程序: x0:0.01:200; y(3x).^(-1); plot(x,y) 结果: 二、生成一个信号:xsin(2*pi*t)cos(4*pi*t) 程序: syms t; xsin(2*pi*t).*cos(4*pi*t); fplot(x,[0 pi]); 结果&…

CentOS 7 使用异步网络框架Libevent

CentOS 7 安装Libevent库 libevent github地址:https://github.com/libevent/libevent 步骤1:首先,你需要下载libevent的源代码。你可以从github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2:下载完成后&…

SQL Server 百万数据查询优化技巧三十则

点击上方蓝字关注我 互联网时代的进程越走越深,使用MySQL的人也越来越多,关于MySQL的数据库优化指南很多,而关于SQL SERVER的T-SQL优化指南看上去比较少,近期有学习SQLSERVER的同学问到SQL SERVER数据库有哪些优化建议&#xff1f…

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-6.0.0.19再使用金山打字通2016

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-6.0.0.19再使用金山打字通2016 在openSUSE Software官网输入关键字deepin-wine搜索得到fedora-deepin-wine6的作者是xuthus5 https://software.opensuse.org/package/fedora-deepin-wine6 在百度贴吧fedora吧的《fedora下的…

swingbench造数失败可能原因及解决方法

swingbench造数失败解决方法 1.临时表空间文件内存不足,扩展临时表空间文件内存 alter database tempfile/home/oracle/oradata/orcl/temp01.dbf resize 30G;(这里扩展完temp临时表空间后可以造数成功,则不需要扩展soe用户表空间&#xff09…

Dubbo3使用Zookeeper作为注册中心的方案讨论!详解DubboAdmin与PrettyZoo来监控服务的优劣!

文章目录 一:Dubbo注册中心的基本使用 二:Zookeeper注册中心的使用 1:依赖引入 2:实际开发 三:Zookeeper作为注册中心的使用展示 1:启动注册Zookeeper服务 2:引入注册中心 (一)&#xf…

react中的state

没想到hooks中也有state这一说法 看下面的两个案例 1、无state变化不会执行父子函数 2、有state更改执行父子函数

winlogbeat采集windows日志

下载链接 https://www.elastic.co/cn/downloads/past-releases/winlogbeat-7-16-2 配置文件 # ---------------------------- Elasticsearch Output ---------------------------- output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.227.160:9200&…

『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程

『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程 1 Postman工具简介2 Postman安装3 Postman界面说明4 一个简单请求4.1 请求示例4.2 请求过程 5 Postman其他操作5.1 import5.2 History5.3 Environment5.4 Global5.5 其他变…

HBuilderX前端软件社区+Thinkphp后端源码

HBuilderX前端软件社区thinkphp后端源码,搭建好后台在前端找到 util 这个文件把两个js文件上面的填上自己的域名,登录HBuilderX账号没有账号就注册账号然后上传文件即可。打包选择发行 可以打包app或h5等等 后端设置运行目录为public(重要),…

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

1、环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴。具体只讲述Jenkins配置以及整个流程的实现。 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_144。 2.Jenkins 持续集成和持续交付项目。 3.现有项目及gitla…

【Web】NewStarCTF Week1 个人复现

目录 ①泄露的秘密 ②Begin of Upload ③Begin of HTTP ④ErrorFlask ⑤Begin of PHP ⑥R!C!E! ⑦EasyLogin ①泄露的秘密 盲猜/robots.txt,访问得到flag前半部分 第二个没试出来,老老实实拿dirsearch扫吧 访问/www.zip 下载附件,拿到第二部分…

QtCreator9.02不支持JDK11解决

最终效果 使用Android Studio 下载Android SDK Platform 31与Sources for Android 31 下载Android SDK Build Tools 31.0.0 下载NDK 25.1 ,23.1 ,21.3 重要: 下载Android SDK Command-Line Tools ,选择10.0或者9.0其中一个版本 其它版本不支持JDK11 ,本例选择10.0 下载CMak…