基于对象存储 OSS 的智能数据分析处理框架和功能-阿里云开发者社区

开发者社区> 云计算> 正文

基于对象存储 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 的模式。

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

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

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章