# 文件应该存放在对象存储还是数据库中？

Canonical URL: https://help.iagenify.com/zh/faqs/object-storage/should-i-store-a-file-in-object-storage-or-in-a-database

[← 返回对象存储常见问题](https://help.iagenify.com/zh/faqs/object-storage)

帮助中心 · 常见问题 对象存储 1 分钟阅读
# 文件应该存放在对象存储还是数据库中？
文件与结构化应用数据的形态不同。将两者分工处理，可以让查询、维护和系统说明更加清晰。
IaGenify
对象存储

## 根据数据类型选择存储方式
对象存储适合图像、文档、导出内容及其他二进制文件。数据库更适合应用需要筛选、关联、验证或更新的结构化字段。把大型文件完整地放进普通记录中，可能让查询和修改变得困难。
两者可以配合使用：将文件保存在对象存储中，并在数据库记录中保存其引用及有用的元数据。根据应用需要，元数据可以说明所有者、用途、内容类型或与其他记录的关系。
除非有明确理由并设计好一致性维护方式，否则不要在两处重复保存完整文件内容。
## 设计引用方式和访问路径
为对象选择稳定标识，并将引用与相关数据库记录一起保存。确定应用如何取回文件以及哪些用户可以访问。引用本身并不等于访问策略；未经检查，不要在公开页面或日志中暴露私有对象位置。
规划文件或对应记录被删除、替换时的处理方式。确定由哪个组件负责清理，并设计方法发现已经无法指向可用对象的引用。用示例文件测试创建、读取、更新和删除的完整流程，可以在真实用户依赖之前发现缺口。 [← 返回对象存储常见问题](https://help.iagenify.com/zh/faqs/object-storage)
