更新时间:2024-03-04 GMT+08:00

什么是对象存储服务

对象存储服务简介

对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。

OBS系统和单个桶都没有总数据容量和对象/文件数量的限制,为用户提供了超大存储容量的能力,适合存放任意类型的文件,适合普通用户、网站、企业和开发者使用。OBS是一项面向Internet访问的服务,提供了基于HTTP/HTTPS协议的Web服务接口,用户可以随时随地连接到Internet,通过OBS管理控制台或各种OBS工具访问和管理存储在OBS中的数据。此外,OBS支持SDK和OBS API接口,可使用户方便管理自己存储在OBS上的数据,以及开发多种类型的上层业务应用。

产品架构

OBS的基本组成是对象

桶是OBS中存储对象的容器,每个桶都有自己的存储类别、访问权限、所属区域等属性,用户在互联网上通过桶的访问域名来定位桶。

对象是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息的集合体,包括Key、Metadata、Data三部分:

  • Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
  • Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元数据以键值对(Key-Value)的形式被上传到OBS中。
    • 系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Content-length,Last-modify,ETag等。
    • 用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。
  • Data:数据,即文件的数据内容。

针对OBS提供的REST API进行了二次开发,为您提供了控制台、SDK和各类工具,方便您在不同的场景下轻松访问OBS桶以及桶中的对象。您也可以利用OBS提供的SDK和API,根据您业务的实际情况自行开发,以满足不同场景的海量数据存储诉求。

图1 产品架构

存储类别

对象存储提供了三种存储类别:标准存储、温存储、冷存储,从而满足客户业务对存储性能、成本的不同诉求。

  • 标准存储访问时延低和吞吐量高,因而适用于有大量热点文件(平均一个月多次)或小文件(小于1MB),且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。
  • 温存储适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。与标准存储相比,温存储有相同的数据持久性、吞吐量以及访问时延,且成本较低,但是可用性略低于标准存储。
  • 冷存储适用于很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等场景。冷存储安全、持久且成本极低,可以用来替代磁带库。为了保持成本低廉,数据恢复时间可能长达数分钟到数小时不等。

上传对象时,对象的存储类别默认继承桶的存储类别。您也可以重新指定对象的存储类别。

修改桶的存储类别,桶内已有对象的存储类别不会修改,新上传对象时的默认对象存储类别随之修改。

表1 存储类别对比

对比项目

标准存储

温存储

冷存储

特点

高性能、高可靠、高可用的对象存储服务

高可靠、较低成本的实时访问存储服务

归档数据的长期存储,存储单价更优惠

应用场景

云应用、数据分享、内容分享、热点对象

网盘应用、企业备份、活跃归档、监控数据

档案数据、医疗影像、视频素材、带库替代

最低存储时间

30天

90天

最小计量单位a

64KB

64KB

64KB

数据恢复

不涉及

按实际恢复数据量收费,单位GB

分加急、标准恢复方式

按实际恢复数据量收费,单位GB

如何访问对象存储服务

对象存储服务提供了多种资源管理工具,您可以选择表2中的任意一种方式访问并管理对象存储服务上的资源。

表2 OBS资源管理工具

工具

描述

管理控制台

管理控制台是网页形式的。通过管理控制台,您可以使用直观的界面进行相应的操作。

OBS Browser+

OBS Browser+是一款运行在Windows系统上的对象存储服务客户端,可以非常方便地让您在个人电脑上进行对象存储的操作。

obsutil

obsutil是一款用于访问管理OBS的命令行工具,您可以使用该工具对OBS进行常用的配置管理操作。对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务的最佳选择。

obsfs

obsfs是对象存储提供的一款基于FUSE的文件系统工具,主要用于将并行文件系统挂载至Linux系统,让用户能够在本地像操作文件系统一样直接使用对象存储海量的存储空间。

SDK

SDK是对OBS服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用SDK提供的接口函数即可实现使用OBS业务能力的目的。