对象
对象(Object)是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息(元数据)的集合体。用户上传至OBS的数据都以对象的形式保存在桶中。
为什么需要对象
对象将数据及其属性封装在一起,通过扁平化的架构和基于HTTP/HTTPS协议的访问方式,解决了传统存储的扩展性难题。这种方式不仅降低了海量数据的存储成本,还通过丰富的自定义元数据,使得数据具备了更强的管理灵活性,能够更好地支撑云计算、大数据和人工智能等现代业务场景。
对象的优势是什么
- 扁平化架构:对象存储在桶(Bucket)内采用扁平化的逻辑结构,不存在目录层级限制,避免了传统文件系统在大规模数据量下的寻址性能衰减。
- 丰富的元数据:对象允许附加自定义的键值对(Key-Value)信息,方便记录数据的业务属性,实现更精准的数据检索与生命周期管理。
- 标准协议访问:对象通过RESTful API进行交互,用户可以使用URL通过互联网直接访问数据,无需复杂的挂载操作。
对象的使用场景
- 海量多媒体存储:视频社交或电商平台的使用者,面临每日千万级新增图片、音视频文件的存储压力。通过将这些多媒体内容作为对象上传到OBS中,利用其高并发访问能力和CDN加速功能,可显著提升应用的加载速度。
- 大数据分析与训练:数据科学家和AI开发团队在处理TB级甚至PB级的训练数据集时,需要极高的吞吐性能。将原始数据存为对象,配合大数据计算引擎进行分布式读取,能够有效缩短模型训练周期并提高数据处理效率。
- 企业备份与归档:IT运维团队需要针对业务日志、历史票据或合规数据进行长期备份。利用对象的不同存储类别和生命周期策略,可以将不常访问的数据自动转为低成本存储,在保障数据高可靠性的同时,大幅降低企业运维开销。
了解更多对象使用场景可参见应用场景
对象的关键组成部分
- Key:键值,即对象的名称,为经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值。
- Metadata:元数据,即对象的描述信息,包括系统元数据和用户元数据,这些元数据以键值对(Key-Value)的形式被上传到OBS中。
- 系统元数据由OBS自动产生,在处理对象数据时使用,包括Date,Content-length,Last-modify,ETag等。
- 用户元数据由用户在上传对象时指定,是用户自定义的对象描述信息。
- Data:数据,即文件的数据内容。
对象的分类
| 对象类型 | 上传类型 | 说明 |
|---|---|---|
| Normal | 通过简单上传(PUT上传)、表单上传(POST上传)生成的对象类型。 | 未开启或暂停多版本控制:同名对象多次操作,后一次完成上传的文件将覆盖前一次上传的文件,且只保留最后调用该接口完成上传的文件。 已开启多版本控制:同名对象多次操作,每次操作都会对应一个版本号进行保存。最后一次操作保存的版本号,为最新版本。 |
| Multipart | 通过多段上传生成的对象类型。 | 未开启或暂停多版本控制功能:合并段时,后一次完成合并的完整文件将覆盖前一次合并的同名文件,且只保留最后调用该接口完成合并的完整文件。 已开启多版本控制功能:合并段完成后,每次操作都会对应一个版本号进行保存。最后一次操作保存的版本号,为最新版本。 |
| Appendable | 通过追加写对象生成的对象类型。 | 可直接在对象后面追加上传内容。 |
| Symlink | 通过创建软链接方式生成的对象类型。 | 创建一个指向目标对象的软链接,打开软链接即可访问目标对象。 |
与对象相关的操作和特性
对象相关操作详见对象管理。