概述

对象:任意二进制文件,包括结构化和非结构化的数据,可随时执行:上传、下载、修改、删除

对象存储 vs 云硬盘

访问接口和形式

  1. 云硬盘是挂载到虚拟机的虚拟硬盘,是通过实现 OS 的底层接口,作为虚拟机的块存储设备而存在
    • 必须连接到相关的虚拟机,才能访问到云硬盘里面的数据
  2. 对象存储,本质上是一个网络化的服务,调用方主要通过高层的 API 或者 SDK 来和它进行交互
    • 提供类似 HTTP 的网络接口来实现,独立性很强
    • S3FS 和 OSSFS 等工具可以通过模拟磁盘(基于对象存储的 API )并挂载到虚拟机
      • 并没有改变对象存储是网络化服务的本质
  3. 云硬盘位于 IaaS 层,而对象存储位于 PaaS 层

KV 系统 vs 文件系统

  1. Key 为存储对象的路径,Value 为存储对象的二进制文件
  2. 文件系统保存了更多的元数据(如:实现目录结构和目录操作),KV 系统的目录是通过共享前缀路径来模拟的
  3. KV 系统的优劣
    • 简化了对象存储的逻辑和设计,云厂商可以更聚焦于对象存储的分布式架构和服务高可用上
    • 但对象存储中的"目录"操作的代价变高了
      • 目录删除/重命名:需要对目录下所有的对象进行修改或者删除来模拟

巨大容量

  1. 轻松容纳上 PB 的超大规模数据
  2. 对象存储非常擅长处理小文件
    • 而类似 HDFS 的大数据文件系统并不适合处理海量小文件

对象存储提供 11 个 9 的数据可靠性

高级特性

存储分层:按照访问热度,设置从热到冷不同的存储级别(Bucket 级别 / 单个文件),转换存储级别也需要额外付费

存储级别 访问频率 特征
热 高频 存储空间的成本较高,但读取访问不需要额外付费
冷 低频 存储空间的成本较低,但读取访问需要额外付费
归档 极少访问 解冻数据需要花费时间

生命周期管理

  1. 设置一定的过期规则,当对象满足规则时,自动执行一些清理操作(切换存储级别、删除等)

版本管理

  1. 同一个对象可能会被修改更新,启动版本功能后,可以按需回滚和恢复