开发者社区> 捷讯技术17> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

捷讯技术分享阿里云产品系列之对象存储OSS

简介: 前不久给大家分享过对象存储、文件存储、和块存储的优劣势及其区别,也给大家留下了一些疑问。因为要理解这三者的联系和区别前提是要对这个三个存储方式每个的特点和存储方式有一定的了解后才能明白,对于不是很理解产品属性的客户来讲,可能还是有点云里雾里。
+关注继续查看

前不久给大家分享过对象存储、文件存储、和块存储的优劣势及其区别,也给大家留下了一些疑问。因为要理解这三者的联系和区别前提是要对这个三个存储方式每个的特点和存储方式有一定的了解后才能明白,对于不是很理解产品属性的客户来讲,可能还是有点云里雾里。那么,今天阿里云湖北授权服务中心捷讯技术的小编继续跟大家一起分别学习这个三个产品的特性。

今天我们先来了解对象存储,它的官方定义是:阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调用 API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过 Web 控制台对数据进行简单的管理。OSS 适合存放任意类型的文件,适合各种网站、开发企业及开发者使用。从官网的定义来看,其实比较宽泛,理解起来还是稍微有点吃力。为了便于理解,我们先来学习理解下面几个名词。

对象:对象是 OSS 存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的 Key 来标识。对象元信息是一个键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在元信息中存储一些自定义的信息。

对象的生命周期是从上传成功到被删除为止。在整个生命周期内,对象信息不可变更。重复上传同名的对象会覆盖之前的对象,因此,OSS 不支持修改文件的部分内容等操作。OSS 提供了追加上传功能,用户可以使用该功能不断地在Object尾部追加写入数据。

存储空间:存储空间是用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。我们可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此可以通过灵活创建不同的存储空间来完成不同的管理功能。另外同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间,一个对象不会属于另一个对象的下级。而且每个用户可以拥有多个存储空间,存储空间的名称在 OSS 范围内必须是全局唯一的,一旦创建之后无法修改名称,并且存储空间内部的对象数目没有限制。

地域(Region):Region 表示 OSS 的数据中心所在的地域,物理位置。用户可以根据费用、请求来源等综合选择数据存储的 Region。一般来说,距离用户更近的 Region 访问速度更快。

访问域名(Endpoint):Endpoint表示 OSS 对外服务的访问域名。OSS 以 HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。通过内网和外网访问同一个Region所需要的 Endpoint 也是不同的。

访问密钥(AccessKey):简称 AK,指的是访问身份验证中用到的 AccessKeyId 和AccessKeySecret。OSS 通过使用 AccessKeyId 和 AccessKeySecret 对称加密的方法来验证某个请求的发送者身份。AccessKeyId 用于标识用户,AccessKeySecret是用户用于加密签名字符串和 OSS 用来验证签名字符串的密钥,其中 AccessKeySecret必须保密。对于OSS来说,AK可以由Bucket的拥有者申请,也可以由Bucket 的拥有者通过 RAM 授权给第三方请求者,或者被 Bucket 的拥有者通过 STS 授权给第三方请求者。

上面几个名词解释,大家有没有一个大概的框架,对象存储系统中数据存储的基本单位是对象,而块存储和文件存储的基本单位是文件和块。而且一个对象实际上就是文件的数据和一组属性信息的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等。另外对象存储架构的核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统。所以对象存储具有易用性、高可靠、多层次安全防护、低成本的特点。下图是对象存储架构图

对象存储架构图.png

上面的架构图,我们需要理解MDS和OSD对Client和OSS的作用。所以,下面我们来学习下MDS和OSD的基本特性或者原理。

1、MDS:全称Metadata Server,元数据服务器。

主要控制Client和OSD对象的交互,且有以下三个重要功能:

1)对象存储访问

MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象,并为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。

2)文件和目录访问管理。
MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。

3)Client Cache一致性。
为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。

2、OSD:对象存储设备

对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的差异与存储介质无关,在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:

1)数据存储

OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。

2)智能分布

OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。

3)管理每个对象元数据

OSD管理存储在其上的对象元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。

3、对象存储系统的客户端Client

为了有效支持Client访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统读访问流程:

1)客户端应用发出读请求;

2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;

3)然后直接向每个OSD发送数据读取请求;

4)OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;

5)文件系统收到OSD返回的数据以后,读操作完成。

对象存储文件系统的关键技术

1、分布元数据,传统的存储结构元数据服务器通常提供两个主要功能。

(1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。

(2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。

2、并发数据访问

对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的。

好啦,这么多内容其实就是对象存储结合了文件存储和块存储的优点,而且对象存储通过简化数据的组织形式、降低协议与接口的复杂度,从而提高系统的扩展性以应对信息爆炸时代的海量数据。同时对象的智能自管理功能也能有效降低系统维护复杂度,帮助用户降低整体拥有成本。

如果大家还有什么疑问,欢迎查阅我们的官网在线咨询或者拨打我们热线电话

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

相关文章
《阿里云产品手册2022-2023 版》电子版地址
阿里云作为数字经济的重要建设者,不断加深硬核科技实力,通过自身能力助力客户实现高质量发展,共创数字新世界。阿里云产品手册2022-2023版集结了云基础产品与基础设施、边缘计算与云通信、数据管理与服务、AI与机器学习、企业服务与媒体服务和物联网与智能终端六大版块,100+阿里云产品,全方位了解产品性能和应用场景,为轻松上云助力。
0 0
《阿里云PostgreSQL、PPAS、HDB for PG生态、产品、案例、实践》电子版地址
阿里云PostgreSQL、PPAS、HDB for PG生态、产品、案例、实践
0 0
阿里云容器服务 ACK 产品技术动态(202212)
容器服务 ACK Feature:ACK Kube Scheduler 支持自定义参数配置 ACK Pro 集群默认调度器为 kube-scheduler 组件,现已支持自定义参数配置,支持 binpack 等相关策略配置。您可在组件管理中进行操作。
0 0
《阿里云产品手册(2021)》电子版下载地址
截止更新日期:2021年12月1日。 阿里云产品手册2021版更新了产品大图、阿里云介绍,最新市场地位、技术进展以及产品概况。已完成数据披露,可对外分享。
0 0
产品动态丨阿里云计算巢月刊-2023年第01期
计算巢服务的功能更新、最佳实践以及合作伙伴的服务更新,让优秀的企业软件生于云、长于云~
0 0
阿里云与神州云动达成产品生态集成认证,共筑“全场景CRM”云生态
近日,阿里云计算有限公司(以下简称:阿里云)与北京神州云动科技股份有限公司(以下简称:神州云动)达成全新合作
0 0
《阿里云数据中台2021产品年鉴》电子版下载地址
本年鉴梳理数据中台架构中多款产品的定位与作用,并对 Dataphin、Quick BI、Quick Audience 三款重点产品的核心能力进行解析详述,推出目前最为完善的产品能力大图。
0 0
阿里云大数据AI产品年度盘点
阿里云大数据AI产品年度盘点,涵盖2022技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据AI方面最新动态。
0 0
阿里云容器服务 ACK 产品技术动态(202211)
阿里云容器服务 ACK 产品技术动态(202211)
0 0
+关注
捷讯技术17
阿里云湖北授权服务中心官方指定武汉捷讯技术,电话:027-87498031
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云产品手册2022-2023 版
立即下载
阿里云存储产品手册
立即下载
阿里云AI产品必知必会系列电子书
立即下载