1842 字
9 分钟
S3 到底能干什么?一篇讲透对象存储的所有使用场景

S3 到底能干什么?一篇讲透对象存储的所有使用场景#

如果要在云计算里找出一个”人人都在用、却很少人说得清”的服务,那一定是 S3。

S3 最初是亚马逊的 Simple Storage Service(简单存储服务),但现在它早就不是”亚马逊专属”了——S3 已经变成对象存储的事实标准:阿里云的 OSS、腾讯云的 COS、开源的 MinIO,全都兼容 S3 的 API。你会写一套 S3 代码,在哪个云上都能跑。

那 S3 到底能干什么?这篇把它的使用场景从上到下捋一遍,总有一款是你用得到的。

先说清楚:S3 是”对象存储”,不是传统数据库或文件系统#

一句话定位:S3 是”用 URL 存和取一段数据(对象)“的存储。它的核心特性决定了它能干什么:

  • 无限扩展:不用担心容量,存几个对象和存几十亿个对象,对你都是”放进去、拿来用”
  • 高可用耐久:数据默认在多地做冗余副本,不怕硬盘坏、机房挂
  • 按量计费:存多少付多少,几乎没最低消费
  • 通过 HTTP/URL 访问:天然能和 CDN、浏览器、服务器无缝对接

下面进入正题,看这些特性怎么变成具体场景。

场景一:静态资源托管(最经典,人人都在用)#

网站的图片、视频、CSS/JS、用户上传的附件、安装包——这些”不改动的大文件”最适合放 S3。数据库里只存一个 URL 字符串,真正的文件在 S3 里,再套一层 CDN 全球分发。

为什么不用数据库存? 因为文件服务和高频读写查询是完全不同的负载。S3 + CDN 的组合,成本低、响应快、还不用管服务器磁盘。

适用:博客封面图、电商商品图、用户头像、视频源文件、App 安装包。

场景二:直接托管静态网站#

S3 不仅能存文件,还能直接当 Web 服务器用——把静态网站(HTML/CSS/JS)往 S3 上一传,开启”静态网站托管”,域名一指向,就是一个能访问的网站。而且它自带版本控制:改坏了能一键回滚。

这是极佳的低成本建站方式:一个纯静态站(个人站、官网、落地页),不用服务器、不用运维,成本几毛钱一个月,还能配 CDN 抗大流量。

适用:个人博客、企业官网、活动落地页、SPA 应用打包产物。

场景三:备份与归档(S3 最省钱的时刻)#

S3 配合生命周期(Lifecycle)规则,堪称自动化的省钱机器:数据放进去后按设定自动”降温”——热的先放标准存储随时取,几个月后自动转低频/归档,一年后转深度归档,越冷越便宜,还能自动过期清理。

这是所有”要长期留但很少看”的数据的归宿:数据库备份、服务器快照、聊天记录、合同扫描件、合规留档。

场景四:日志与可观测数据#

服务器日志、访问日志、云平台的操作记录,全部可以源源不断往 S3 灌。S3 一个桶就是天然的日志仓库,再配合分析工具(或者直接给 ClickHouse 读)、全文检索(ES),就能把日志变成可查、可分析的资产。

适用:CDN 访问日志、业务埋点、审计日志、错误日志归档。

场景五:数据湖 / 大数据分析底座#

大数据时代,S3 几乎成了数据湖的代名词——把所有原始数据(结构化、半结构化、非结构化)一股脑丢进 S3,再用 Spark、Flink、Presto 这些引擎去读、去算。因为 S3 便宜、能存海量数据、又和计算引擎天然解耦,“计算和存储分离”的架构才成为可能。

适用:数仓原始层、ETL 中间数据、BI 分析源数据、机器学习特征数据。

场景六:大文件分发(批量下载)#

要一次性让成千上万人下载大文件(软件包、数据集、电影素材、电子书),S3 是比服务器下载稳定得多的选择——通过 S3 预签名 URL,你甚至不需要用户登录,就能给”有时限的下载链接”。

适用:软件发行、数据包下载、素材交易、临时分享链接。

场景七:AI 训练与向量数据#

AI 应用火热之后,S3 又多了两个大场景:

  • 训练数据存储:图片、文本、标注文件,动辄几十 TB,S3 海量存储 + 高吞吐读取正好胜任
  • 文件进向量库之前的中转池:要交给 RAG 系统向量化的文档,先放 S3,再被处理程序读取、切块、转向量

适用:机器学习训练集、RAG 文档库、音视频素材训练语料。

场景八:版本控制与审计留存#

S3 默认支持对象版本控制:同一个 key 每次覆盖都会留下历史版本。开启后,误删、误覆盖都能找回。这对”操作不可逆”的敏感数据(配置、备份、关键文档)是重要的保护层。

Plus:S3 的访问日志 + 权限策略还能做访问审计,谁在什么时候读写了什么,都有据可查。

S3 类实现怎么选?#

实现类型特点
AWS S3公有云功能最全、生态最标准,全球可用
MinIO开源/自建可以部署在自己服务器上,S3 API 兼容,数据私有
阿里云 OSS公有云国内访问快、按量计费、国内备案合规方便
腾讯云 COS公有云国内访问快、和腾讯生态(微信/QQ)集成好

同样一套 S3 API 代码,在哪家都能跑——这就是选它的最大好处,云厂商想换就换,代码不用大改。

那 S3 不适合干什么?#

再强的工具也有边界,S3 不是万能的:

  • 不适合当关系数据库:它没有事务、没有复杂查询、没有 JOIN——核心业务数据还是放 PostgreSQL/MySQL
  • 不适合当缓存:读写延迟比 Redis/内存慢几个数量级,高并发热点不用它
  • 不适合频繁修改小文件:S3 的对象是”整存整取”,频繁覆盖同一个对象性能差,改一个字节也要写整个对象
  • 不适合强一致性的实时操作:S3 提供的是最终一致性(部分场景已强化),对”当前时刻读到的必须是最新的”这种需求要谨慎

总结#

一句话:S3 是”存海量、不怕大、长期放、要省钱、能分享”这类数据的天然归宿。

它不能当数据库,也不能当缓存,但一切”不需要事务、但需要可靠存储的大文件”——图片、视频、备份、日志、训练数据、静态网站——都是它的主战场。

你在用的博客、看的视频、下的软件,背后很可能都有一个 S3 类存储撑着。搞懂它能干什么、不能干什么,你的架构设计思路会清晰很多。

S3 到底能干什么?一篇讲透对象存储的所有使用场景
https://021028.xyz/posts/default/109/
作者
021028
发布于
2026-09-11
许可协议
CC BY-NC-SA 4.0