news 2026/10/2 20:34:37

对象存储服务器vs数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
对象存储服务器vs数据库

一、先看结论

图片可以存进普通数据库,但代价极高,几乎没人这么做。

原因不是“技术上做不到”,而是数据库的设计目标与图片的存储需求根本不匹配。

二、普通数据库 vs 对象存储:设计目标完全不同

维度普通数据库(MySQL)对象存储(S3/OSS/MinIO)
设计目标结构化数据的高效查询和事务海量非结构化文件的存储和分发
存储单元行(Row)对象(Object)
数据特点小、结构化、频繁更新大、非结构化、一次写入多次读取
访问方式SQL 查询HTTP API(GET/PUT)
扩展方式垂直扩展(加 CPU/内存)水平扩展(加机器)
成本高(SSD、内存)低(机械硬盘、冷存储)

三、为什么图片不适合存进数据库?

1. 体积问题:图片太大了
数据类型典型大小
一行用户记录几百字节
一张普通图片几百 KB 到几 MB
一张高清图片几 MB 到几十 MB
一段视频几百 MB 到几 GB

一张图片的体积,可能是一行用户记录的几千倍。

如果把 100 万张图片存进 MySQL,数据库会变得极其臃肿,备份、迁移、恢复都变得困难。

2. 性能问题:数据库被“拖慢”了

数据库的强项是快速查询结构化数据,而不是传输大文件。

  • 内存浪费:数据库会把图片加载到内存缓冲池,挤占其他查询的空间

  • IO 瓶颈:大字段的读写会占用大量磁盘 IO

  • 查询变慢:其他正常的 SQL 查询被拖累

3. 成本问题:数据库存储太贵了
存储类型每 GB 月成本
数据库(SSD)高
对象存储(标准)低
对象存储(冷存储)极低

图片数量一多,用数据库存储的成本会迅速失控。

4. 扩展问题:数据库很难水平扩展

数据库的扩展通常是垂直扩展(加 CPU、内存、SSD),有物理上限。

对象存储天生水平扩展,加机器就能扩容,理论上无上限。

5. 访问模式不匹配
特性数据库对象存储
访问方式SQL 查询HTTP URL
缓存数据库缓存CDN 加速
分发需要应用层处理天然支持 CDN
权限数据库权限签名 URL、ACL

图片需要的是通过 URL 快速分发,而数据库不擅长这个。对象存储配合 CDN,可以让全球用户快速加载图片。

四、那数据库存什么?

数据库存的是图片的元数据,而不是图片本身。

CREATE TABLE images ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, filename VARCHAR(255), url VARCHAR(512), -- 对象存储的 URL size INT, mime_type VARCHAR(64), created_at DATETIME );

数据库负责“索引”,对象存储负责“存储”。

五、什么情况下可以把图片存进数据库?

场景是否推荐原因
小图标、头像可接受体积小(几十 KB)
数量少(<1万)可接受不会显著拖慢数据库
需要事务一致性可考虑图片和业务数据必须同时提交
内网小系统可接受没有高并发和成本压力
海量图片不推荐性能、成本、扩展都有问题
高并发访问不推荐数据库扛不住

例外情况:如果图片很小(如用户头像缩略图),且数量不多,存进数据库的 BLOB 字段也可以接受。但一旦规模上去,就必须迁移到对象存储。

对象存储的核心优势

优势说明
海量存储理论上无上限,按需扩展
低成本比数据库存储便宜得多
高可用多副本、跨区域容灾
CDN 友好天然支持通过 URL 分发
按量付费用多少付多少
生命周期管理自动转冷存储、自动删除
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 20:31:07

STM32定时器本质:时钟脉冲计数与时间基准推导

1. 这不是“数秒”&#xff0c;而是数“时钟脉冲”&#xff1a;STM32定时器的本质真相你写过HAL_Delay(1000)&#xff0c;也配置过TIM2的PWM输出&#xff0c;甚至用过输入捕获测过超声波回波时间——但有没有哪一刻&#xff0c;你盯着CubeMX里那个“Prescaler”和“Counter Per…

作者头像 李华
网站建设 2026/10/2 20:30:19

大模型API价格目录开源:从计费建模到成本对比的工程实践

1. 从“查价查到头大”说起&#xff1a;这个开源目录到底解决了什么国内大模型 API 的价格&#xff0c;是我最近半年被问得最多的问题之一。不是“哪个模型最强”这种主观题&#xff0c;而是非常具体的&#xff1a;“DeepSeek 现在多少钱一百万 token&#xff1f;”“智谱和通义…

作者头像 李华
网站建设 2026/10/2 20:29:37

RK3588双路YOLOv5s部署:线程池调度与NPU并发实战

做嵌入式AI部署的人应该都有同感&#xff1a;单路跑通检测只是入门&#xff0c;真正折磨人的是双路甚至多路视频流同时稳定运行。香橙派5这块RK3588板子&#xff0c;NPU算力标称6 TOPS&#xff0c;单路跑一个INT8量化的YOLOv5s模型&#xff0c;帧率轻松破百&#xff0c;但你要是…

作者头像 李华
网站建设 2026/10/2 20:28:40

AI新闻日报_2026-07-07:用TaoToken统一Key追踪Agent与AI Coding动态

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华