开发者社区> 罗庆超> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

基于对象存储 OSS 的智能数据分析处理框架和功能

简介: 今年参加了 2019 全球闪存峰会(Flash Memory World),分享了“基于云存储的智能数据分析处理架构”,重点介绍在对象存储 OSS 之上的数据处理功能,现整理相关内容和大家探讨。
+关注继续查看

导语

今年参加了 2019 全球闪存峰会(Flash Memory World),分享了“基于云存储的智能数据分析处理架构”,重点介绍在对象存储 OSS 之上的数据处理功能,现整理相关内容和大家探讨。

一、通过存储技术分析,探讨为什么对象存储适合做数据分析处理

1.1 存储技术分析

纵观存储技术的发展历史,从 1957 年发明硬盘,1970 年代发明 SAN(Storage Area Network),1980 年代发明 NAS(Network Attached Storage),再到 2006 年发明 Object Storage。从中可以看出,存储技术是不断向上和应用结合的过程,但是这些技术并不是代次的替换,而是场景的扩展。其中有个规律,大约每隔 10 年就会有新技术的出现。现在是2019年,距离对象存储出现已经13年过去了,下一个存储未来技术会是什么呢?(后面会抛出一些思考)。

存储技术对比.png

通过上图对比存储技术的差异,加强理解:

  • 存储的部署和服务场景不同。SAN(块存储) 和 NAS(文件存储)都是面向数据中心内访问的设备,而对象存储产生的目的根本就不是在数据中心内使用,而是面向互联网、移动互联网(3G、4G、5G)而产生的,为大量使用的网页、视频、图片、音频、文档访问而设计。
  • 存储的使用者不同。块存储的使用者是机器,它映射 LUN(Logical Unit Number) 给机器,被机器识别为盘,然后创建文件系统、数据库。NAS 的使用者是办公账号,如 AD(Active Directory) 和 LDAP(Lightweight Directory Access Protocol) 账号,该账号登陆 NAS 设备的 IP(Internet Protocol) 地址就可以访问共享文件夹,用于办公场景。对象存储的使用者是云账号或者社交账号,通过该账号成功登陆云服务后就可以存储数据了。
  • 访问协议/接口不同。SAN(块存储) 和 NAS(文件存储) 是基于数据中心内的技术,采用 FC、iSCSI、NFS、CIFS、SMB 协议。而对象存储是基互联网访问的技术,采用基于 HTTP/HTTPS 的 S3(Simple Storage Service)/OSS(Object Storage Service) 访问接口。

综上可以看出,存储技术的不同,关键是 交互模式的差别SAN 是典型的机机交互模式,NAS 是人机交互模式,对象存储是移动互联网交互模式。SAN 的机机交互最简单,就是要求盘时延低、带宽大;NAS 的人机交互需求多,就像人管理图书那样会分门别类(目录)和书名(文件名)、重命名、移动,还有复杂的权限、配额管理等;对象存储的移动互联网交互模式,上面会通过互联网应用对外服务,可以做的比人机交互更简单,如采用平坦的名字空间来管理对象,从而降低了 NAS 场景下大目录、海量小文件的管理难题。不同的交互模式,大大影响了存储背后的设计哲学,它也是系统设计的源头和根本

1.2 存储技术的应用场景

存储本质.png

从本质上来看:

  • SAN 存储(块),本质是一块盘,就是一个线性地址空间,在它之上装文件系统、数据库、虚拟机等后,才能让应用更好的使用。
  • NAS 存储,本质是 企业员工+IP地址+共享文件夹,围绕目录、文件等特性设计,应用于企业办公、媒体编辑、高性能计算等场景。
  • 对象存储,本质是 云账号通过互联网(或移动互联网)访问网络内容,广泛使用的互联网短视频、图片、音乐等应用,它为应用提供了全局、全网共享的数据大池子,非常适合做为互联网内容的底层平台。

对象存储拥有面向互联网的海量数据存储、访问能力,在它之上构建数据分析平台,可以关联数据挖掘的价值;在对象存储上构建分析平台,让存储更智能,这将是存储未来的发展之道

二、当前基于对象存储构建数据分析的典型设计范式

当前,大量的计算应用构建在对象存储上,因为对象存储是面向互联网、面向未来5G的存储服务,它的数据量非常巨大,从而形成了海量的数据池,计算应用基于它去分析,更容易找出数据之间的关联性、挖掘数据价值。所以,基于对象存储来构建数据分析体系,是公有云上常见的使用模式。

解决方案.png

如上图所示:

  • 阿里云的全球文娱互动直播解决方案,就是使用对象存储系统 OSS 为底座,通过 ECS 部署截图、窄带高清转码、拉流直播、录制等软件,形成文娱互动的能力;该方案提供全球多 Region 容灾部署、千万级高并发能力。
  • 阿里云的在线教育解决方案,基于阿里云对象存储 OSS,构建媒体转码、媒体点播、视频直播,来管理服务大量的视频数据。该方案提供海量、安全、低成本、高可靠的云存储,不限文件数量,基于 RESTful API 的互联网任何位置存储和访问。

上述应用方案设计范式的典型特征,就是在对象存储 OSS 之上自主搭建计算、分析集群的能力,实现业务需求。但这样的方案,对带宽的消耗也很明显,做好将计算功能 Offloading(卸载) 到存储,将是很有价值的工作。

三、对象存储计算卸载的智能数据分析处理框架

上述章节的方案解决了对应场景的使用问题,但也存在优化点。

  • 带宽优化,对于图片、音视频等多媒体文件,都是较大的对象,不管通过公网还是 VPC 内网,都会带来较大的带宽需求,会存在性能瓶颈。
  • 时延问题,将大量的数据下载到手机、服务器处理,传输距离长、时延大,用户体验较差。
  • 部署要求,需要购买机器、软件,在进行安装、配置、运维等,这都需要不少的投入。

这些优化点都存在成本开销,因此将合适的数据分析处理算子卸载到存储、实现数据就近访问,并采用 Serverless 的对外提供服务,将会降低带宽开销、减少时延、更易运维使用。

数据分析框架.png

因此,对象存储计算卸载的智能数据分析处理框架核心是构建计算框架、并将它和存储关联,为此在对象存储最近的数据中心,部署计算引擎实现就近访问。然后,在对象存储的数据路径上和计算框架打通,从而实现关联。
为了支持种类丰富的数据分析处理,设计了智能的调度框架:

  • 该框架在底层支持 CPU、GPU、FPGA 芯片。
  • 将机器抽象为物理机、虚拟机、容器屏蔽硬件差异。
  • 在此之上运行 Linux、Windows 运行环境,并部署各类卸载的算子。
  • 通过集群调度系统提供离线请求、实时请求的灵活调度。

通过该框架,只要卸载的算子通过验证并部署过来,就可以提供集群化的服务,并实现云服务的 SLA 能力。

四、典型场景

通过对象存储计算卸载的智能数据分析处理框架,支持如下的场景。
应用场景.png

4.1 图片处理

通过卸载图片转换算法的算子到调度框架,实现了图片水印、缩放、裁剪、旋转、格式转换、效果共 6 个场景,完完全全实现了云上的 PS。以前做图片处理是在本地机器上用 photoshop 完成,现在可以在云上实现,而且还不用安装软件,并且云上 PS 还可方便的实现多人协作处理。使用方式也非常简单,无需购买任何服务器、无需安装软件,直接使用 URL 请求完成,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200

它表示将图片缩放为宽度 200 像素的新图片,通过使用 FPGA 加速,和自主搭建 CPU 方式相比,单机的吞吐率可提升 6 倍,时延下降 80%-90%,整体带宽优化可以达到 5 倍

4.2 视频推流

OSS 是业界第一个实现支持多媒体推流的公共云对象存储服务,通过卸载视频流处理算子,可以在对象存储 OSS 的推流配置完成后,得到 RTMP 推流的 OSS 地址,然后就可在客户端推送视频流到 OSS,例如:

ffmpeg -i 1.flv -c copy -f flv "rtmp://your-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel?OSSAccessKeyId=LGarxxxxxxHjKWg6&Expires=1472199095&Signature=%2FAvRo7FTss1InBKgwn7Gz%2FUlp9w%3D"

通过此方法,无需搭建多媒体流服务,就可以让视频处理卸载到对象存储,并切还能支持音频流,在时延要求不高时还可做直播。

4.3 视频处理

通过卸载视频截帧算子,可实现零流量的截帧处理,直接使用 URL 请求完成,例如:

http://a-image-demo.oss-cn-qingdao.aliyuncs.com/demo.mp4?x-oss-process=video/snapshot,t_7000,f_jpg,w_800,h_600,m_fast

它表示在 7 秒钟的时间,截 1 帧长宽 800×600 的图片。

4.4 文档预览

通过该卸载算子,可以直接预览存储在对象存储 OSS 上的文档。对于文档预览功能,只需提交请求预览文档,OSS 将会返回经过转码的签名 URL,然后基于该 URL 就可以在浏览器中进行文档查看,目前支持近 50 种文档格式的预览。由于和 OSS 天然结合,从而也完全复用了 OSS 的 SLA 能力(大于 99.9%),并享受 OSS 的安全设计。

4.5 图片 AI

通过卸载图片 AI 算子,实现人脸识别和图像内容识别。
人脸识别 功能,使用时直接在人脸图片的 URL 后加上参数就能直接返回识别的人脸结果,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/person.jpg?x-oss-process=imm/detecface

内容识别 功能,使用时直接在图片的 URL 后加上参数就能直接返回识别结果,例如:

http://image-demo.oss-cn-hangzhou.aliyuncs.com/image.jpg?x-oss-process=imm/tagimage

4.5 SQL 卸载(Select Object)

在对象存储 OSS 中,也叫 Select Object 功能,它将 SQL 的条件、Projection 算子下推,实现基本的过滤并且只返回有用的数据,从而实现高效的数据查询。
Select Object 的卸载方式,和外部大数据平台实现 SQL 方式(OSS 未卸载)相比,时延可减少到原来的1/12,带宽最多可以减少99%

五、总结

  • 交互模式决定存储系统的设计哲学。SAN 块存储是机机交互,NAS 文件存储是人机交互,对象存储是移动互联网交互(3G/4G/5G),不同的交互模式决定后端的架构和功能。
  • 基于对象存储计算卸载的智能数据分析处理框架,可以灵活支持不同硬件、平台、操作系统、运行环境、卸载算子,并提供实时、离线请求,满足不同场景的数据分析处理需求。
    -存储卸载的遵循原则。寻找合适的数据分析处理算子,实现数据就近访问,提供 Serverless 的模式。

通过整体的介绍,可以相信,基于对象存储海量数据的数据分析处理,挖掘数据价值,是未来技术的重要发展趋势。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
快开启阿里云对象存储 OSS 防误删新功能--版本控制,保护您珍贵的数据
阿里云对象存储 OSS 是保存海量数据的平台,支持丰富的应用。在使用过程中难免会遇到误操作、程序 Bug、覆盖写等导致数据被删除的场景,对于数据的丢失会非常着急,后果也非常严重,甚至某些情况下还会影响你的职业生涯。
1659 0
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
2020年6月,阿里云对象存储 OSS 通过十年积累的技术红利,将可用性 SLA(Service Level Agreement) 提升 10 倍,做到了全球第一的核心竞争力,是其他的云厂家的 10~20 倍,如下图所示。
692 0
五个问答,告诉你阿里云对象存储如何助力钉钉战胜业务洪峰
为了积极迎接此次疫情的挑战,政府组织、企业、院校等纷纷开启了线上办公,视频会议、在线教育以及基于互联网的数据分析已然成为当下最重要的刚需。在这样如此巨大的业务流量和数据增量的压力下,钉钉是如何积极应对,从而实现存储的快速扩容,保障了业务连续性。
1069 0
小微企业阿里云最佳实践系列(三):OSS 图片存储(对象存储)与 CDN 内容分发
本博文主要为大家介绍静态文件的存储以及使用 CDN 加速访问的热点图片。很多企业都会面临网站大图加载缓存、文件下载并发低(通常同时几个人下载服务器上的大文件就会跑满服务的带宽)等问题,本文将逐一为大家讲解如何解决此类问题。
6680 0
通过云存储网关实现阿里云对象存储跨地域访问
阿里云对象存储用户众多,很多客户希望能够通过内网流量访问位于不同地域的OSS Bucket。本文通过具体的实践展示了基于云存储网关和云企业网实现内网流量访问不同地域的OSS Bucket的方案,整个配置过程非常的简单便捷。
2559 0
阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容
https://help.aliyun.com/document_detail/31932.html?spm=5176.doc31929.2.5.R7sEzr   这个示例从一个没有任何Bucket的阿里云用户开始,以下内容中出现的AccessKey请替换成用户自己对应的AccessKey。
1321 0
阿里云对象存储服务OSS 学习笔记
阿里云对象存储服务(Object Storage Service,简称 OSS)
6698 0
+关注
罗庆超
罗庆超,阿里巴巴资深技术专家,阿里云对象存储负责人。曾就职于华为,作为海量存储首席架构师负责OceanStor/FusionStora文件存储、对象存储,以及分布式存储DFV(数据功能虚拟化/Data Function Virtualization)的架构设计和实现。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云 JindoFS+OSS 数据上云实战
立即下载
云存储之OSS实战进阶分享
立即下载
OSS运维进阶实战手册
立即下载