OSS与文件系统的对比

 

基本概念介绍_开发指南_对象存储 OSS-阿里云  https://help.aliyun.com/document_detail/31827.htmlhtml

 

强一致性

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

Object 操做在 OSS 上一样具备强一致性,用户一旦收到了一个上传(PUT)成功的响应,该上传的 Object 就已经当即可读,而且数据的三份副本已经写成功。不存在一种上传的中间状态,即 read-after-write 却没法读取到数据。对于删除操做也是同样的,用户删除指定的 Object 成功以后,该 Object 当即变为不存在。并发

强一致性方便了用户架构设计,可使用跟传统存储设备一样的逻辑来使用OSS,修改当即可见,无需考虑最终一致性带来的各类问题。分布式

OSS与文件系统的对比

OSS 是一个分布式的对象存储服务,提供的是一个 Key-Value 对形式的对象存储服务。用户能够根据 Object 的名称(Key)惟一的获取该Object的内容。虽然用户可使用相似 test1/test.jpg 的名字,可是这并不表示用户的 Object 是保存在test1 目录下面的。对于 OSS 来讲,test1/test.jpg 仅仅只是一个字符串,和a.jpg 这种并无本质的区别。所以不一样名称的 Object 之间的访问消耗的资源是相似的。性能

文件系统是一种典型的树状索引结构,一个名为 test1/test.jpg 的文件,访问过程须要先访问到 test1 这个目录,而后再在该目录下查找名为 test.jpg 的文件。所以文件系统能够很轻易的支持文件夹的操做,好比重命名目录、删除目录、移动目录等,由于这些操做仅仅只是针对目录节点的操做。这种组织结构也决定了文件系统访问越深的目录消耗的资源也越大,操做拥有不少文件的目录也会很是慢。阿里云

对于 OSS 来讲,能够经过一些操做来模拟相似的功能,可是代价很是昂贵。好比重命名目录,但愿将 test1 目录重命名成 test2,那么 OSS 的实际操做是将全部以 test1/ 开头的 Object 都从新复制成以 test2/ 开头的 Object,这是一个很是消耗资源的操做。所以在使用 OSS 的时候要尽可能避免相似的操做。spa

OSS 保存的 Object 不支持修改(追加写 Object 须要调用特定的接口,生成的 Object 也和正常上传的 Object 类型上有差异)。用户哪怕是仅仅须要修改一个字节也须要从新上传整个 Object。而文件系统的文件支持修改,好比修改指定偏移位置的内容、截断文件尾部等,这些特色也使得文件系统拥有普遍的适用性。但另一方面,OSS 能支持海量的用户并发访问,而文件系统会受限于单个设备的性能。架构设计

所以,将 OSS 映射为文件系统是很是低效的,也是不建议的作法。若是必定要挂载成文件系统的话,建议尽可能只作写新文件、删除文件、读取文件这几种操做。使用 OSS 应该充分发挥其优势,即海量数据处理能力,优先用来存储海量的非结构化数据,好比图片、视频、文档等。设计

如下是OSS与文件系统的概念对比:视频

对象存储 OSS 文件系统
Object 文件
Bucket 主目录
Region
Endpoint
AccessKey
多级目录
GetService 获取主目录列表
GetBucket 获取文件列表
PutObject 写文件
AppendObject 追加写文件
GetObject 读文件
DeleteObject 删除文件
修改文件内容
CopyObject (目的和源相同) 修改文件属性
CopyObject 复制文件
重命名文件

OSS 术语表

英文 中文
Bucket 存储空间
Object 对象或者文件
Endpoint OSS 访问域名
Region 地域或者数据中心
AccessKey AccessKeyId 和 AccessKeySecret 的统称,访问密钥
Put Object 简单上传
Post Object 表单上传
Multipart Upload 分片上传
Append Object 追加上传
Get Object 简单下载
Callback 回调
Object Meta 文件元信息。用来描述文件信息,例如长度,类型等
Data 文件数据
Key 文件名
ACL (Access Control List) 存储空间或者文件的权限

 

 

 

新建文件夹_管理文件_控制台用户指南_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/31910.html

新建文件夹
更新时间:2018-06-08 18:13:54 编辑 ·
阿里云 OSS 服务是没有文件夹这个概念的,全部元素都是以对象来存储。OSS 控制台中的文件夹本质上来讲是建立了一个大小为 0 并以”/“结尾的对象用于同类文件的归类操做和批处理,同时控制台默认将以”/“结尾的对象做为文件夹形式展示。该对象一样能够上传及下载。用户能够在 OSS 控制台中,采用同 Windows 文件夹的基本操做使用 OSS 文件夹。

说明
对于任何一个以”/“结尾的对象,不论该对象是否存有数据,在控制台中都是以文件夹的方式显示,用户只能经过 API 或 SDK 的方式来下载该对象。对模拟文件夹具体的实现与操做能够参考:

相关文章
相关标签/搜索