在今年9月份杭州云栖大会的“下一代云存储技术与最佳实践”专场,阿里云智能存储产品资深技术专家罗庆超分享了 “对象存储海量数据管理和应用最佳实践” 议题,重点介绍对象存储 OSS 的架构原理、数据管理、最佳实践等精彩内容。

1 企业数据存储的挑战和需求

数据是企业的生命线,企业的数据存储也普遍面临着3个挑战:

• 数据快速增长:根据IDC统计,全球数据量在2020年将高达40,000EB,人均5TB。

• 数据不丢不错:Gartner报告指出,经历灾难系统停运的公司有40%立即倒闭,剩下的33%在两年内破产。

• 法规遵从:根据行业合规要求,需要长期保留的数据越来越多、越来越严格,如金融双录需保存6个月、证券投资警示材料与录像需保存20年、会计档案需保存10~30年,且不可修改。

通过与大量企业的深入交流,罗庆超从中总结了 5 个企业数据存储的关键需求,如下图所示:

• 可靠性:指在硬盘、服务器、网络等故障情况下,以及火灾、地震、洪水等灾害时,可以有效防止数据丢失,阿里云OSS技术通过跨机机柜、机房、区域的数据冗余,实现了12个9的高可靠性。

• 可用性:指在服务器故障时、光线挖断时,可自动切换实现业务连续性,OSS通过容错设计,实现了99.995%的可用性。

• 安全合规:指数据访问的认证、授权、加密、以及行业法规遵从,OSS支持多项合规认证,比如KMS加密、WORM认证等。

• 自动扩容:能够自适应业务数据快速增长,避免出现存储空间被打爆,OSS通过业界领先的资源供应链管理、软件分布式弹性设计,实现百EB级空间、百万亿级对象的规模能力。

• 自动生命管理:支持冷热数据的管理,优化TCO,OSS提供标准、低频、归档的存储类型,并能够自动化迁移,优化存储使用成本。

2 对象存储技术介绍

2.1 OSS 技术演进

阿里云OSS实现上述业界领先的核心竞争力,并不是一蹴而就,而是通过长期技术积累实现,如下是技术演进图:

OSS随着飞天云操作系统发展而演进,它立项于2008年,和盘古一起起航;开发完成后,先在阿里巴巴集团内打磨,2011年正式在阿里云做商业化发布。此后,每年都在不断发布新功能,在更多可用区开服,满足客户的关键应用需求。

今年是OSS的大年,内核演进到了第二代(OSS 2.0):

• 硬件上:引入了貔貅3存储新机型,从介质、服务器、网络等层面采用了业界领先的技术,性价比极具竞争力。

• 软件上:切换到盘古2.0引擎,提供更强大的分布式扩展能力。

同时,今年发布了9大新特性,以满足企业客户的需求。

2.1.1 OSS 同城区域冗余存储新特性

首先,介绍最重要的同城区域冗余存储特性,如下图所示:

为了提高可靠性和可用性,OSS实现了跨Location的纠删码技术,在任意一个Location故障后,数据依然能够访问和存储。通过对海量的开发运维数据分析,得到最优的Location间距离、带宽设计,防止Location发生故障、灾难,避免出现数据丢失或者业务中断。最终,实现了12个9的高可靠性,99.995%的高可用性,并且标准、低频存储类型都可以使用。

2.1.2 其他新功能

同时,2019年至今还发布了如下新功能:

• ZIP 包解压:实现上传ZIP包自动解压功能,它同函数计算结合,提供图形化界面,简单易用。

• 智能数据处理:包含文档预览(支持近50种格式文档格式)、人脸识别AI处理、标签识别AI处理功能。

• 多版本:提供数据按版本保存功能,可以保护数据避免数据被误删,并且通过读写版本分离来提高数据一致性。

• 标签:提供存储空间标签、对象标签功能,并且结合生命周期管理、安全策略一起使用。

• 授权管理:图形化Bucket Policy管理,可授权其他用户访问OSS,并配置基于访问IP的访问管理。

• 安全提升:提供了客户端加密、日志透明化、KMS加密支持BYOK增强能力。

• 单链接限速:实现了单链接流控,限制该链接的上传、下载和拷贝,可配置范围在100KB/s~100MB/s。

• 传输加速:利用OSS底层的全球网络,实现就近传输,最高可加速4倍,采用CNAME 可以自定义加速区域。

2.2 OSS架构原理

OSS能够在巨大的数据体量下更新内核、并发布大量新特性,无疑就是在飞行中更换飞机引擎,这需要优秀的架构来支撑,如下是OSS的架构原理图:

数据平面的核心:包含盘古分布式存储底座、有巢分布式KV 构建的对象存储元数据、对象存储后端服务;在此之上,就可以通过HTTP服务端和网络负载均衡提供服务。

运维管控面的核心:主要是赤骥DEVOPS平台,它提供了CI/CD、灰度发布/升级、下限维修、监控、日志、运营大屏等丰富的功能。

该架构实现了3个亮点:

• Global的分布式能力:提供了分布式数据复制功能,实现智能元数据负载均衡,零错误扩容、升级、迁移,以及全球的跨区域复制能力。

• 强一致性模型:对齐PAXOS复制协议实现强一致的分布式元数据处理,数据修改立即可见;无中间态临时数据,和最终一致性系统相比仍能保证性能领先。

• 智能开发运维平台:实现了多维度的数据可视化、全面的监控报警、智能日志分析和全面的白屏运维。

通过十多年来稳定的架构设计,保证了系统的快速演进,结合智能开发运维平台提高效率,实现人均效率是传统开发、运维方式的3~5倍。

2.3 OSS 智能数据处理框架

通过稳定的架构和功能开发,OSS存储了海量的数据,基于数据做智能分析、挖掘数据价值,将是存储未来技术的重要趋势。为此,OSS通过智能数据分析处理框架、有效卸载算法实现高效数据处理,如下图所示:

核心思想是构建计算框架,并将它和存储关联。为此,在对象存储最近的位置,部署计算引擎,实现就近访问(无需传输数据出OSS存储系统,极大地降低了网络带宽开销)。然后,在对象存储的数据路径上和计算框架打通,实现关联。为了支持种类丰富的数据分析处理,设计了智能的调度框架,其特点是:

• 底层支持 CPU、GPU、FPGA 芯片,匹配算法适配需求。

• 抽象机器为物理机、虚拟机、容器,从而为软件屏蔽硬件差异。

• 支持Linux、Windows运行环境,并能自动部署各类卸载的算子。

• 通过集群调度系统提供离线请求、实时请求的灵活调度,满足业务对调度对需求。

通过该框架,只需要认证卸载的算子,就可以快速部署起来,并基于框架的集群化调度能力快速服务化,并提供类似阿里云服务的SLA能力。它的亮点是:降低带宽开销(近数据处理)、Serverless 体验 (降低运维难度) 、简单易用(基于URL使用方式),目前提供如下4类的算法卸载:

• 图片处理:通过使用FPGA加速,和自主搭建CPU方式相比,单机的吞吐率可提升6倍,时延下降80%-90%,整体带宽优化可以达到5倍。

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

• SQL 卸载:和外部大数据平台实现SQL方式(OSS未卸载)相比,时延减少到原来的1/12,带宽最多可减少99%。

• 文档预览:目前支持近50种文档格式的预览,由于和OSS天然结合,从而也完全复用了OSS的SLA能力(大于99.9%),并可享受到OSS的安全设计。

3 对象存储最佳实践

通过技术架构原理介绍,大家基本掌握了OSS的相关功能,本节重点讲解OSS的数据管理和最佳实践。

3.1 海量数据管理

3.1.1 迁移数据管理

希望上云使用好对象存储OSS,先从迁移数据的管理开始;目前,OSS迁移数据包括两大类方法:

3.1.1.1 闪电立方服务:包含如下两个子类

• 在线迁移服务:将第三方数据轻松迁移至阿里云对象存储OSS,也可以在对象存储 OSS之间进行灵活的数据迁移。

• 离线迁移(闪电立方设备):它是一种PB级别端到端的离线数据迁移服务,能够使用安全设备将大量数据传入阿里云。如2018年迁移115网盘时,因为数据量巨大、迁移时间短,所以选择了离线迁移的闪电立方设备形式。通过双方努力,仅仅45天就完成100PB的数据迁移,迁移完成后115科技总经理刘睿表示:“将基础设施托付给阿里云后,115科技团队得以集中精力,聚焦顶层设计,为用户提供更好的产品体验和服务。”

3.1.1.2 工具:包括ossimport、ossutil、hdfs2oss4emr、OSS镜像回源,它们都可以简单便捷地迁移数据。

在迁移数据时,要综合考虑容量、带宽选择迁移方法,数据迁移后要对比数据的一致性、保证数据全部被迁移成功,同时要结合应用的易用性集成上述方法的API或者工具。

3.1.2 数据空间管理

海量的数据需要做好组织,在数据空间管理上,建议先从如下3方面考虑:

• 命名空间:要合理控制桶的数目,在使用静态网站托管功能时推荐CNAME绑定域名,对象名尽量散列、避免热点。

• 目录模拟:对象存储不是文件系统,而是采用前缀模拟目录;OSSFS封装的POSIX文件系统插件,受限于服务器操作系统Linux的FUSE架构,场景有限,不能提供高性能、丰富的文件系统功能;如果有大量重命名目录操作,对象存储是不合适的,建议在上层封装元数据来实现。

• 对象管理:如果桶的对象太多、超过十亿,尽量少执行List操作;可以采用对象清单来获取对象列表,便于应用的查询;同时,也可以利用对象清单实现对象的一致性检查。

3.1.3 保证业务连续性

海量的数据高效组织并存储后,要在运行上保证业务连续性,建议从如下4个方向考虑:

• 提高可靠性:开启同城区域容灾,提高单区域故障后的容错能力;使用跨区域复制,容忍区域级故障;打开多版本,降低误删除数据影响。

• 提高可用性:应用在多区域创建桶、同时并行访问使用,跟踪各区域时延、成功率,根据应用时延、成功率要求控制切换,在遇到请求错误时进行幂等回退处理。

• 流量控制:国内单用户、单区域缺省流量配额为10Gbps,如需要更高带宽可以提交工单来申请提升;在请求返回流控错误码时,根据带宽能力合理设置幂等回退;同时,支持单链接限速,帮助应用合理控制客户端流量。

• 安全管理:使用RAM控制授权用户访问、并设置访问策略,控制访问的IP来源,使用数据加密和日志审计。

3.2 应用最佳实践

基于OSS的架构、特性、数据管理建议,介绍3个近期最具代表意义的应用最佳实践:

3.2.1 基因测序解决方案

该方案的客户有两个主要测序中心,采用专线连接到阿里云就近区域。本地IDC具备一定计算和存储能力,用于处理部分业务,将处理数据归档到云上,同时利用云上的K8S、批量计算、ECS等做弹性大规模计算扩展。

它解决了客户的3个痛点:专线网络和OSS通信,直传数据;K8S &批量计算和OSS对接,直接计算;基于OSS的生命周期管理自动归档数据,降低成本。

3.2.2 人工智能自动驾驶训练应用解决方案

在该方案中,云端资源实时响应业务需求,支撑了业务快速迭代。快速使用阿里云提供的新技术、新产品,享受技术红利。CPFS和OSS结合专为训练优化性能和成本,提升训练速度,释放GPU的算力,使得整个AI计算平台效率更高。

该方案体现了3个优势:弹性资源供给、大带宽的吞吐能力、整体优化的TCO。

3.2.3 视频监控应用解决方案

此方案实现了视频监控统一存储,通过部署网关、监控接入平台、混合云存储阵列,成功对接五家不同类型的摄像头设备,无缝完成摄像头对接迁移,实现了云上、云下的统一平台。该平台可弹性承载10000+设备接入,后续在接入更多摄像头时,可弹性扩展计算资源,而不影响原有业务。同时,本地混合云存储使用云缓存技术,仅保存近期几天的数据,而将海量的近百天视频文件全量备份至云端,完全满足行业法规要求,而且还可以利用OSS的智能数据处理功能进行视频内容的分析。

该方案满足了客户3个典型需求:视频监控统一存储;数据高可靠,持久保存支撑行业法规;弹性资源按需供给,满足业务增长需求。

当然,OSS还有更多应用解决方案的最佳实践,可以在阿里云官网上查询。

总结

构建业界领先的高可靠、高可用、易管理、安全合规的非结构化数据存储平台目标,是阿里云对象存储OSS不断超越自我的驱动力,未来OSS将持续演进发展,满足企业数据存储要求。

关于“Linux宝库”微信公众号:

欢迎关注"Linux宝库"微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。

- END -

- 责任编辑:耿航 -

【独家】阿里云罗庆超:对象存储 OSS 海量数据管理和应用最佳实践相关推荐

  1. 【开发环境】(阿里云分布式文件系统)对象存储OSS 服务配置

    目录 一.开通 "对象存储 OSS" 服务: 二.创建 Bucket 容器: 1.创建一个Bucket: 三.使用 OSS 对象存储: 四.使用 SDK 访问 OSS: 1.安装使 ...

  2. 阿里云国际站代理商:对象存储 OSS存储空间(Bucket) 跨域资源共享怎么操作

    聚搜云是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球.2019年成为阿里云代理商生态合作伙伴.与阿里云代理商.腾讯云.华为云.西部数码.美橙互联.AWS亚马逊云国际站代理商.聚搜云,长 ...

  3. 对象存储OSS(微信小程序直传实践)

    对象存储OSS(微信小程序直传实践) 一.配置Bucket跨域访问 客户端进行表单直传到OSS时,会从浏览器向OSS发送带有Origin的请求消息.OSS对带有Origin头的请求消息会进行跨域规则( ...

  4. 对象存储OSS之阿里云OSS介绍及开通

    数据.文件存储方式 一般,数据.文件的存储主要有以下几种方式: MySQL 数据(MySQL)+文件(本地IO流) 数据(MySQL)+缓存(Redis)+文件(服务器集群.fastDFS(集群).h ...

  5. 32-SpringBoot 集成阿里云对象存储OSS

    1.开启阿里云OSS服务 1.开启服务 登录阿里云官网 开启对象存储服务后(按流量计费),进入对象存储控制台 创建Bucket 2.配置跨域 如果是微服务项目需要配置跨域 创建规则 3.生成密钥 查看 ...

  6. 一分钟了解阿里云产品:对象存储OSS概述

    阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧! 什么是对象存储呢? 简单来说,对象存储OSS是阿里云提供的海量.安全和高可靠的云存 ...

  7. 如何结合PICgo,Typora以及阿里云对象存储OSS搭建自己图床写博客

    如何利用阿里云对象存储OSS搭建自己图床写博客 1.购买阿里云 购买链接 登录阿里云–>控制台–>对象存储OSS–购买 购买的时候可以选择按月付费一月一元的,也可以年费9元的,40GB作为 ...

  8. 阿里云对象存储OSS支持版本管理特性

    2019独角兽企业重金招聘Python工程师标准>>> 阿里云对象存储OSS现已经全面支持"对象版本管理"特性.该功能适用于所有的存储类型以及区域.当Bucket ...

  9. 阿里云对象存储OSS与文件存储NAS的区别

    一.简介 应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理. 产品选型主要从OSS和NAS中选择一款,满足文档存储的需求. 二.NAS优缺点 NAS 是一种采用直接与网络介质相连的特 ...

  10. 开启阿里云对象存储OSS防误删新功能,保护您珍贵的数据。

    一.背景 阿里云对象存储 OSS 是保存海量数据的平台,支持丰富的应用.在使用过程中难免会遇到误操作.程序 Bug.覆盖写等导致数据被删除的场景,对于数据的丢失会非常着急,后果也非常严重,甚至某些情况 ...

最新文章

  1. java1.5多线程_【Java多线程】JDK1.5并发包API杂谈
  2. 事实证明,OpenCV中对RGB图像数据的存储顺序是BGR,而且Scalar()的顺序也是B,G,R
  3. pgsql数据库默认配置事务类型_PostgreSQL数据库事务出现未知状态的处理方法
  4. kernel和filter这两个概念在CNN中的区别以及卷积核与卷积层的关系
  5. linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码
  6. 从零开始学视觉Transformer(3):视觉问题中的注意力机制
  7. 华为云MVP熊保松谈物联网开发:华为云IoT是首选,小熊派是神器
  8. redis 参数配置总结
  9. antdPro Nginx 打包部署
  10. 网络请求 get 请求时, 如果参数中的字符带有+号
  11. Subarray Sum K
  12. matlab里的timer,关于Matlab中用timer来实现多线程机制
  13. linux 找不到libaio.h,POSIX AIO和Linux上的libaio之间的区别?
  14. 谦虚的向大家问个技术问题,树型结构的排序问题
  15. pandas读取文件自动生成表头
  16. jq实现标签单选、多选功能
  17. iNFTnews|一键生成数字藏品,VERTU Web3手机是未来吗?
  18. VDI虚拟桌面基础架构
  19. 谭浩强c语言不讲位运算呢,谭浩强C语言教程第十二章-位运算.doc
  20. 苹果保修期查询_查询iPhone的保修日期和激活日期

热门文章

  1. ios中webview的高级用法(二)
  2. Eclipse 调试技巧
  3. 在注册表更改Program Files的位置
  4. 在ubuntu下安装openjdk
  5. ASP.NET Core性能改进【转载】
  6. vis.js绘图库的一个BUG以及源码修正
  7. jack编译报错的问题
  8. MFC学习笔记1---准备工作
  9. ZOJ Problem Set - 1292 Integer Inquiry
  10. Processes and Threads 线程和进程的理解