当前位置:   article > 正文

oss存储概念_oss文件存储

oss文件存储

一、什么事oss存储

        阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本, 可以使用阿里云提供的 API、SDK 接口或者 OSS 迁移工具轻松地将海量数据移入或移出阿里云 OSS。

存储模式:

1、标准存储(Standard):作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,2、低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive):作为不经常访问数据的存储方式,特点是成本更低、存储期限更长的。

        OSS 具有与平台无关的 RESTful API 接口,可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

上传方式支持:简单上传、分片上传、追加上传

二、应用场景

1、图片和音视频等应用的非结构化数据的海量存储:

        OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。

2、网页或者移动应用的静态和动态资源分离

        利用海量互联网带宽,OSS可以实现海量数据的互联网并发下载。OSS提供原生的传输加速功能,支持上传加速、下载加速,提升跨国、跨洋数据上传、下载的体验(需要付费提速,一般业务用不到,比如存储个一些脚本和静态页面啥的根本不用加速)。同时,OSS也可以结合CDN产品,提供静态内容存储、分发到边缘节点的解决方案,利用CDN边缘节点缓存的数据,提升同一个文件被同一地区客户大量重复并发下载的体验。

3、云端数据处理

        上传文件到OSS后,可以配合媒体处理服务和图片处理服务进行云端的数据处理。

三、OSS工作原理及基本概念

        数据以对象(Object)的形式存储在OSS的存储空间(Bucket )中。如果要使用OSS存储数据,您需要先创建Bucket,并指定Bucket的地域、访问权限、存储类型等属性。创建Bucket后,您可以将数据以Object的形式上传到Bucket,并指定Object的文件名(Key)作为其唯一标识。

        OSS以HTTP RESTful API的形式对外提供服务,访问不同地域需要不同的访问域名(Endpoint)。当您请求访问OSS时,OSS通过使用访问密钥(AccessKey ID和AccessKey Secret)对称加密的方法来验证某个请求的发送者身份。

        Object操作在OSS上具有原子性和强一致性。

基本概念

  • 存储空间(Bucket )

            存储空间是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。 

    • 同一阿里云账号在同一地域内创建的存储空间总数不能超过100个。
    • 存储空间名称在OSS范围内必须全局唯一。有关存储空间的命名规范,请参见存储空间命名
    • Bucket名称在OSS范围内必须全局唯一。
    • 只能包括小写字母、数字和短划线(-)。
    • 必须以小写字母或者数字开头和结尾。
    • 长度为3~63个字符。
    • 命名示例

      Bucket名称的正确示例如下:

      • examplebucket1
      • test-bucket-2021
      • aliyun-oss-bucket
    • Bucket名称的错误示例以及错误的原因如下:

      • Examplebucket1(包含了大写字母)
      • test_bucket_2021(包含了下划线)
      • aliyun-oss-bucket-(结尾包含了短划线)
  • 对象(Object)

    • 对象是OSS存储数据的基本单元,也被称为OSS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成,并且由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在元信息中存储一些自定义的信息。对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除通过追加方式上传的Object可以通过继续追加上传写入数据外,其他方式上传的Object内容无法编辑,您可以通过重复上传同名的对象来覆盖之前的对象。
    • 对象的命名规范如下:
      • 使用UTF-8编码。
      • 长度必须在1~1023字符之间。
      • 不能以正斜线(/)或者反斜线(\)开头。
      • 说明 对象名称需要区分大小写。如无特殊说明,本文档中的对象、文件称谓等同于Object。
    • 对象名称(ObjectKey)

      在各语言SDK中,ObjectKey、Key以及ObjectName是同一概念,均表示对Object执行相关操作时需要填写的Object名称。例如向某一存储空间上传Object时,ObjectKey表示上传的Object所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为abc/efg/123.jpg。

    • 地域(Region)

      Region表示OSS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说,距离用户更近的Region访问速度更快。更多信息,请参见访问域名和数据中心

    • 访问域名(Endpoint)

      Endpoint表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。通过内网和外网访问同一个Region所需要的Endpoint也是不同的。例如杭州Region的外网Endpoint是oss-cn-hangzhou.aliyuncs.com,内网Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。更多信息,请参见访问域名和数据中心

    • 用户ID(AccessKey ID)

      AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。AccessKey ID用于标识用户

    • 访问密钥(AccessKey Secret)

      • AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥必须保密。
      • AccessKey包含以下三种:

        • Bucket的拥有者申请的AccessKey。

        • 被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。
        • 被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。
    • 强一致性

      • Object操作在OSS上具有原子性,操作要么成功要么失败,不会存在有中间状态的Object。OSS保证用户一旦上传完成之后读到的Object是完整的,OSS不会返回给用户一个部分上传成功的Object。

        Object操作在OSS同样具有强一致性,用户一旦收到了一个上传(PUT)成功的响应,该上传的Object就已经立即可读,且数据已经冗余写入到多个设备中。不存在上传的中间状态,即不会出现read-after-write却无法读取到数据的情况。删除操作也类似,即用户成功删除指定的Object后,该Object立即变为不存在。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号