对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务设计可用性不低于99.995%。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
存储类型
OSS提供标准存储、低频访问存储、归档存储、冷归档存储和深度冷归档存储多种存储类型,全面覆盖从热到冷的各种数据存储场景。
存储类型 | 说明 |
标准存储 | 提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问。适用于各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。 |
低频访问存储 | 提供高持久性、较低存储成本的对象存储服务。有最小计量单位(64 KB)和最低存储时间(30天)要求。支持数据实时访问,访问数据时会产生数据取回费用。适用于较低访问频率(平均每月访问频率1到2次)的业务场景。 |
归档存储 | 提供高持久性、极低存储成本的对象存储服务。有最小计量单位(64 KB)和最低存储时间(60天)的要求。数据需解冻(约1分钟)后访问,会产生数据解冻费用。如果开启归档直读,无需解冻就可以访问数据,会产生数据直读取回费用。适用于数据长期保存的业务场景,例如档案数据、医疗影像、科学资料、影视素材等。 |
冷归档存储 | 提供高持久性、比归档存储的存储成本更低的对象存储服务。有最小计量单位(64 KB)和最低存储时间(180天)的要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。适用于需要超长时间存放的冷数据,例如因合规要求需要长期留存的数据、大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等业务场景。 |
深度冷归档存储 | 提供高持久性、比冷归档存储成本更低的对象存储服务。有最小计量单位(64 KB)和最低存储时间(180天)的要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。适用于需要超长时间存放的极冷数据,例如大数据及人工智能领域的原始数据的长期积累留存、媒体数据的长期保留、法规和合规性存档、磁带替换等业务场景。 |
关于以上存储类型的更多信息,请参见存储类型介绍。
适用场景
OSS适用于以下场景:
静态网站内容和音视频的存储与分发
每个存储在OSS上的文件(Object)都有唯一的HTTP URL地址,用于内容分发。同时,OSS还可以作为内容分发网络(CDN)的源站。由于无需分区,OSS尤其适用于托管那些数据密集型、用户生产内容的网站,如图片和视频分享网站。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。OSS支持流式写入和文件写入两种方式。
静态网站托管
作为低成本、高可用、高扩展性的解决方案,OSS可用于存储静态HTML文件、图片、视频、JavaScript等类型的客户端脚本。
计算和分析的数据存储仓库
OSS的水平扩展性使您可以同时从多个计算节点访问数据而不受单个节点的限制。
数据备份和归档
OSS为重要数据的备份和归档提供高可用、可扩展、安全可靠的解决方案。您可以通过设置生命周期规则将存储在OSS上的冷数据自动转储为低频或者归档存储类型以节约存储成本。您还可以使用跨区域复制功能在不同地域的不同存储空间之间自动异步(近实时)复制数据,实现业务的跨区域容灾。
性能
如果您的云服务器ECS和对象存储OSS在同一个地域,那么通过云服务器ECS访问对象存储OSS中的数据理论上是最快的。OSS的设计也使其服务端延迟相对于网络延迟来讲可以忽略不计。此外,OSS对于存储量、请求数和用户数的扩展特性,使其可以很好的支持大量Web级应用程序。如果您使用多线程、多个应用程序或多个客户端同时访问OSS,总的OSS聚合吞吐量通常会扩展到远超任何单个服务器可以生成或消耗的速率。
为了提升大文件(5 GB以上)的上传性能,阿里云OSS提供分片上传(Multipart Upload)功能,将要上传的Object分成多个数据块(Part)来分别上传,上传完成之后再将这些Part组合成一个Object来达到断点续传的效果。分片上传适用于网络条件不佳的场景,当出现上传失败的时候,可以对失败的Part进行独立的重试,而不需要重新上传整个Object。
为了提升数据访问速度,许多开发者会将OSS和搜索引擎(如开放搜索OpenSearch)或数据库(如表格存储、云数据库RDS)搭配使用。OSS用于存储实际的数据,而搜索引擎或数据库用于存储元数据,如文件名称、大小、关键词等。数据库中存储的元数据很容易被索引和查询。OSS和搜索引擎或数据库结合使用可用于精确定位和检索OSS中的文件。
为了提升远距离大文件的上传下载体验,满足文件动态更新、非热点文件的下载加速需求,OSS还提供传输加速功能,通过智能调度的系统、优化的传输链路、调优的协议栈与传输算法,并深度结合OSS服务端的配套策略,提供端到端的加速方案。
对于静态热点文件的下载加速场景,OSS支持开启阿里云CDN加速服务。阿里云CDN将OSS的Bucket作为源站,将源内容发布到边缘节点。阿里云CDN配合精准的调度系统,将用户的请求分配至最适合的节点,使终端用户以最快的速度读取到所需的内容,有效解决Internet网络拥塞状况,提高用户访问的响应速度。
数据持久性和服务可用性
OSS采用多可用区(AZ)内的数据冗余存储机制,将用户的数据冗余存储在同一地域(Region)的多个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。OSS同城3AZ能够提供99.9999999999%(12个9)的数据持久性以及99.995%的数据可用性。
您还可以针对存储空间启用跨区域复制功能。启用后,不同地域的不同存储空间之间将实现自动异步(近实时)复制数据,实现跨区域容灾需求。源存储空间和目标存储空间均提供99.9999999999%(12个9)的数据持久性以及99.995%的数据可用性。
扩展性和弹性
OSS提供高扩展性和弹性。普通的文件系统如果在同一目录下存放太多文件,经常会出现问题。而OSS总的存储容量以及单个存储空间的容量均无上限。您可以在一个存储空间内存放无限量的文件,OSS自动将您的数据副本存储至同一地域的不同服务器,所有数据副本共享阿里云的高性能基础设施能力。
安全性
阿里云对象存储OSS(Object Storage Service)具有丰富的安全防护能力,支持服务端加密、客户端加密、防盗链白名单、细粒度权限管控、日志审计、合规保留策略(WORM)等特性。OSS是目前中国内地唯一通过Cohasset Associates审计认证的云服务,可满足严格的电子记录保留要求,例如SEC Rule 17a-4(f)、FINRA 4511、CFTC 1.31等合规要求。关于OSS安全能力的详细介绍,请参见OSS安全与合规白皮书。
接口
OSS提供标准的RESTful API接口,您可以使用API接口将文件(Object)存储在存储空间(Bucket,顶级文件夹)中,存储空间的名称全局唯一。每个文件有一个Object Key(文件名),作为该文件在该存储空间中的唯一标识。OSS没有文件夹的概念,所有元素都是以文件来存储,但是您可以通过创建以正斜线(/)结尾的文件名(如folder1/folder2/file)来模拟文件夹。
开发者一般使用工具或封装了API接口的SDK来开发应用。OSS目前提供包括Java、Python、PHP、Go、Android、iOS在内的10多种开发语言SDK。命令行工具ossutil提供方便、简洁、丰富的Bucket和Object管理命令,如ls、cp、cat、config等,操作性能好,可并发上传,支持Windows、Linux、 Mac平台。您也可以使用图形化管理工具ossbrowser方便直观地进行文件浏览、文件和文件夹(目录)上传下载等基本操作,或者使用图形化的Web应用程序OSS管理控制台轻松、便捷的管理您的OSS资源。
您还可以使用事件通知功能,及时了解您OSS资源上的相关操作。详情请参见事件通知概述。
费用模型
OSS的服务费用由存储费用、流量费用、请求费用、数据处理费用等组成。OSS开通后默认为按量计费,即按实际使用量*单价的方式计费,每小时统计前一小时的实际用量并从账户余额中扣除实际消费金额。针对部分计费项,您还可以使用包年包月的计费方式,进一步降低费用。包年包月即预先购买指定资源包,之后使用资源时,扣除相应的额度。详情请参见计量项与计费项概述。