首页/系统与基础设施/存储速查/对象存储的数据模型与扁平结构
分布式与对象存储70 条

对象存储的数据模型与扁平结构

对象存储用桶与对象两层扁平模型组织数据,键里的斜杠只是前缀、并非真实目录;对象只能整体替换,检索效率取决于键设计与元数据索引,而非目录树结构。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌​​​‌​​‌‌​‌​‌​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​​‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌​‌‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

桶与对象

对象存储只有两层结构:桶是一个扁平的命名空间,对象由键、数据和元数据三部分组成。没有真正的目录,控制台里看到的「文件夹」只是键名里用斜杠拼接出来的前缀。这个模型带来两个直接后果:对象只能整体写入或整体替换,不能像文件那样追加;而海量对象的检索与列举能力,取决于元数据索引的设计而不是目录树。

基本信息

核心结构桶 bucket + 对象 object(键、数据、元数据)
访问方式HTTP REST 接口,主流实现兼容 S3 协议
数据分布按键的哈希分散到存储节点,与目录无关
典型实现S3、兼容 S3 的私有对象存储、MinIO 等

典型使用场景

  • 图片、视频、备份包等非结构化数据的长期存放
  • 静态网站与 CDN 源站:对象可缓存、可整块分发
  • 数据湖存储层:海量小文件与列式文件统一存放
  • 日志与归档:写入即不可变,适合批量清理与生命周期策略
  • 应用间数据交换:用预签名链接代替账号权限直连

键与前缀的关系

键与前缀的关系
# 键(Key)            -> 真实结构是扁平的一条记录
logs/2026/10/17/app-1.log
logs/2026/10/17/app-2.log
# 控制台显示的目录层级是前缀(Prefix)模拟的视图
# 列举时用前缀过滤,例如 prefix=logs/2026/10/

与文件系统的差异

能力对象存储传统文件系统
目录语义无,用前缀模拟真实目录树
修改方式整体替换对象可随机写与追加
重命名复制加删除,不是原地操作元数据操作,代价低
扩展方式横向加节点受单机与卷规模限制

建模时的关键判断

  • 对象是否需要频繁修改:需要就地更新就说明它更适合放在块设备或数据库
  • 键的前缀如何设计:直接决定列举性能与能否按业务批量筛选
  • 元数据放在键里还是对象的元数据字段:前者可被前缀筛选,后者检索代价更高
  • 是否需要版本化:开启后删除与覆盖都会留下历史版本,容量与成本口径随之变化
  • 访问模式是顺序大文件还是海量小文件:两者对存储层的要求完全不同
对象的元数据规模常比数据本身更早成为瓶颈:设计键结构时就要考虑单桶对象数量级与列举频率。
多数实现允许用分隔符把前缀列举成层级视图,这只是服务端对键名的切分,不改变底层扁平结构,也不产生额外的目录对象。

易错点

  • 把对象存储当共享文件系统用,依赖重命名与追加写,性能和语义都对不上
  • 单桶塞入海量对象却不设计前缀,列举与批处理操作变得极慢
  • 把关键检索字段只写进自定义元数据,导致无法用前缀高效筛选
  • 开启版本控制后仍按原成本估算容量,历史版本悄悄占满空间

数据来源与参考

  • Amazon S3 官方文档:对象与桶的基本概念
  • MinIO 官方文档:对象存储数据模型

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/object-storage-data-model.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌​​​‌​​‌‌​‌​‌​​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​​​‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​‌‌‌‌​‌‌​​‌​​​‌‌​​‌​‌​‌‌​‌‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​