当前位置: 首页 > news >正文

【存储基础】对象存储基础知识

文章目录

  • 1. 什么是对象存储?
  • 2. 对象存储的关键特性
    • 2.1 架构层面
      • 扁平命名空间
      • 自包含对象模型
    • 2.2 核心能力层面
      • 极限扩展性
      • 超高数据持久性
      • 服务高可用性
    • 2.3 数据智能与访问层面
      • 可扩展元数据
      • RESTful API原生访问
    • 2.4 成本与效率层面
    • 2.5 安全合规层面
      • 端到端加密
      • 访问控制
  • 参考内容

1. 什么是对象存储?

传统的存储方式:

  • 文件存储:数据组织在文件和文件夹的层级目录结构中,通过路径定位数据;
  • 块存储:数据被分割成固定大小的“块”,直接存储在裸盘设备上,操作系统负责管理这些块,组装成文件系统,通过卷、LUN、块地址定位数据。

对象存储则通过消除非结构化数据多层存储结构,简化管理并降低成本:

  1. 数据即对象:每个数据单元都被视为一个独立的对象;
  2. 扁平命名空间:所有对象都存储在扁平的。非层级的地址空间中(通常称为桶),没有复杂的目录树结构;
  3. 唯一标识符:每个对象都有一个全局唯一的标识符(uuid),通过这个id直接访问对象,无需路径;
  4. 数据+元数据+uuid:一个对象包含三个关键部分
    • 数据本身;
    • 元数据:描述对象的数据
    • 全局唯一标识符uuid

对象存储的核心概念有

  • 对象
    • 基本单元:对象是对象存储的基本单元,每个文件、图片、日志文件等都被视为一个独立的、自包含的对象;
    • 组成要素:一个对象包含了三部分:数据+元数据+UUID;
    • 逻辑容器:对象被组织在称为桶的顶层逻辑容器中,桶名在其作用域内必须唯一;
    • 主要作用:
      • 对象分组:提供一种方式将相关对象分组管理
      • 策略边界:是设置访问控制策略(如ACL)的基本单元,决定谁可以访问桶内对象及执行何种操作;
      • 配置单元:桶是配置生命周期规则、版本控制、加密等特性的地方;
  • 扁平命名空间
    • 摒弃层级:桶内没有真正的文件夹或目录树结构;
    • 键值存储:所有对象都存储在一个巨大的、扁平的地址空间中,对象通过唯一标识符直接定位;
  • 全局唯一标识符
    • 访问地址:是访问对象的“地址”,在桶内,每个标识符是唯一的;
    • 作用:客户端通过桶名+标识符的组合来唯一执行并访问一个对象
  • 帐户:帐户是资源的最高归属实体
    • 核心作用
      • 资源所有者:帐户是对象存储资源(桶、对象)的法定拥有者;
      • 管理边界:帐户是配置全局策略的顶层容器;
      • 计费主体:所有资源使用量(存储容量、流量等)的计费都关联到帐户;
  • 用户:访问资源的操作主体
    • 核心作用
      • 身份标识:代表一个操作者,用于身份认证;
      • 权限载体:通过关联权限策略,决定该用户能执行哪些操作;
      • 访问凭证:用户拥有专属的访问密钥(AK/SK)
    • 用户和帐户的关系
      • 用户必须隶属于某个帐户;
      • 帐户是“资源池”,用户是“资源使用者”

2. 对象存储的关键特性

2.1 架构层面

扁平命名空间

对象存储抛弃了传统的目录树结构,所有对象都存储在桶内的单一逻辑层中,通过唯一的key(UUID)直接寻址。

这种扁平命名空间结构的优势:

  • 无限扩展性:添加对象不影响性能,没有目录遍历的开销;
  • 简化管理:无需维护复杂目录结构

自包含对象模型

一个对象包含了数据本身+元数据+全局唯一ID

2.2 核心能力层面

极限扩展性

  • 横向扩展:通过添加标准存储节点,容量可以线性扩展到EB级别;
  • 性能同步提升:带宽和IOPS随着容量增长而提升,支持百万级并发请求

这种极限扩展性也让对象存储在海量存储场景得到广泛应用。

超高数据持久性

提供EC纠删码多副本的数据保技术:

  • EC纠删码:将对象切分为n个数据块+m个校验块,分散存储,比如4+2策略容忍任意2块数据丢失/损坏,任意m块数据能通过其他n块数据恢复;

服务高可用性

  • 多级冗余
  • 故障自愈:节点故障时自动切换请求,后台重建数据

2.3 数据智能与访问层面

可扩展元数据

支持快速检索

RESTful API原生访问

例如:

# 上传对象
curl -X PUT https://bucket.oss.com/data.jpg -T local.jpg
# 获取元数据
curl -I https://bucket.oss.com/data.jpg

2.4 成本与效率层面

  • 按需付费
  • 自动分层存储
  • 内置数据管理能力

2.5 安全合规层面

端到端加密

  • SSE-S3:服务端加密,密钥由平台管理;
  • SSE-KMS:密钥由独立密钥管理系统托管;
  • 客户端加密:数据在上传前加密

访问控制

  • IAM Policy:用户级权限,比如不允许删除操作;
  • Bucket Policy:桶级权限,比如仅允许特定IP访问;
  • ACL:对象级读写权限

参考内容

  • 分布式对象存储(Object Storage) - 知乎
  • 对象存储(OSD)及架构原理-CSDN博客

相关文章:

  • 动态生成 PV 的机制:使用 NFS-Client Provisione
  • Python训练打卡Day43
  • Angular中Webpack与ngx-build-plus 浅学
  • nodejs环境变量配置
  • Day25 异常处理
  • 力扣HOT100之二分查找:4. 寻找两个正序数组的中位数
  • pymongo配置事务环境并封装事务功能
  • (三)Linux性能优化-CPU-CPU 使用率
  • JDBC基础关键_001_认识
  • DOM(文档对象模型)深度解析
  • Git 常见操作
  • 【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
  • DiMTAIC 2024 数字医学技术及应用创新大赛-甲状腺B超静态及动态影像算法赛-参赛项目
  • GitOps 核心思想 - 当 Git 成为唯一信源
  • 【PhysUnits】17.2 配套变量结构体 Var(variable.rs)
  • 第二十九章 数组
  • [嵌入式AI从0开始到入土]18_Ascend C算子开发环境(S5赛季)
  • 【redis】线程IO模型
  • 探索数学的迷人谜题:考兰兹猜想与MATLAB演示
  • MyBatis中foreach集合用法详解
  • 湖北省疫情最新情况/外贸seo优化
  • 广州企业推广网站建设/北京seo软件
  • 网站开发php价格/营销app
  • 做自媒体有哪些网站/聊城seo
  • 提供企业网站建设公司/建网站需要什么条件
  • 政府网站建设项目背景/百度推广介绍