存储类型选型

块存储适合数据库与文件系统,文件存储适合共享目录与遗留应用兼容,对象存储适合海量与静态内容;按访问模式、共享需求与一致性选择。

什么是存储类型选型

云上存储按访问形态分三类:块存储以磁盘形式挂载给单实例,提供低层 IO;文件存储提供共享目录与 POSIX 语义,可被多实例同时挂载;对象存储通过 HTTP API 访问,容量近乎无限、按量计费。选型的判断依据是访问模式、是否需要共享、以及一致性要求,而不是容量大小。

基本信息

块存储挂载为磁盘,低延迟随机读写,同一时刻通常只挂一台实例
文件存储共享目录、POSIX 语义,注意并发性能配额与锁语义
对象存储HTTP API,海量弹性,常见最终一致或读后一致语义
选型关注IOPS 需求、并发访问、延迟目标、成本结构与生命周期策略

类型对照

类型访问形态典型用途
块存储挂载为磁盘,低层 IO数据库、系统盘、需要文件系统的应用
文件存储共享目录,POSIX 语义共享配置、容器共享卷、兼容遗留应用
对象存储HTTP API,海量弹性备份归档、图片视频与静态资源、日志冷存

典型使用场景

  • 数据库与中间件:需要低延迟随机 IO,用块存储并关注 IOPS 与吞吐档位
  • 多实例共享配置:文件存储提供统一目录,避免各实例本地副本不一致
  • 静态与媒体资源:对象存储加 CDN,按访问量计费且容量无上限
  • 备份与归档:对象存储配生命周期策略,冷数据自动转低价层
  • 日志与大数据落盘:区分热数据与冷数据,按访问频率分层
  • 容器共享卷:需要多 Pod 同时读写时优先评估文件存储而非块存储

对象存储常用操作片段

对象存储常用操作片段
# 上传与检查(以兼容 S3 的对象存储为例)
aws s3 cp ./report.tar.gz s3://bucket-ops/2026/10/   # 上传归档
aws s3 ls s3://bucket-ops/2026/10/ --human-readable    # 确认对象与大小
# 生命周期:把 30 天未访问的对象转到低频层,365 天后转归档
aws s3api put-bucket-lifecycle-configuration \
  --bucket bucket-ops --lifecycle-configuration file://lifecycle.json
# 校验完整性:上传后比对 ETag 或直接回读校验和
对象存储不适合当数据库用:高并发小文件随机写、事务语义与低延迟要求都不匹配,常见替代是块存储上的数据库。
文件存储的并发能力有配额:多实例高频读写同一目录前,先确认吞吐与 IOPS 上限,避免上线后成为瓶颈。

易错点

  • 把对象存储当数据库使用,延迟与一致性不匹配,业务逻辑被迫绕行
  • 共享文件存储未评估并发配额,多实例上线后 IO 打满
  • 块存储只挂单实例却按共享目录设计,多节点写入互相覆盖
  • 没有生命周期策略,冷数据长期停留在最贵存储层,成本持续累积

数据来源与参考

  • AWS 架构中心:存储服务选型
  • Azure 架构中心:存储选项对比
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌