architecture - 我应该在哪里存储照片?文件系统还是数据库?

标签 architecture photos

这个问题在这里已经有了答案:




11 年前关闭。




Possible Duplicate:
storing uploaded photos and documents - filesystem vs database blob



我开始开发一个网络应用程序,其主要目的是显示照片。用户也可以上传照片。

出现的第一个问题是照片的存储位置:文件系统还是数据库。

我将使用 Windows 设备来托管该站点。数据库是 MySQL,后端代码是使用 ASP.NET MVC 的 C#。

最佳答案

文件系统,当然,除非你的目标是在 thedailywtf 上写一个故事。最简单的方法是按照可以从文件本身派生的属性(例如其 SHA-1 哈希)来组织照片。然后只需将哈希存储在数据库中,附加到照片的主键和其他属性(上传者、上传日期等)。

将文件系统上的照片分开也是一个好主意,这样您就不会在一个目录中留下数百万个文件。所以你会有这样的事情:

storage/00/e4/f56c0de1c61fdb926e79e8a0a65bd12930c9.jpg
storage/25/9a/ec1c55bfb660548a6770238668c4b117d92f.jpg
storage/5d/d5/4b01d98f17a9ad9dd1526b49ba39b5aa37a1.jpg
storage/63/49/6f740b6c284ce6685dc17d473a7360ace249.jpg
storage/b1/75/066d178188dde110149a8422ab651b0ee615.jpg
storage/b1/20/a2b7d02b7b0c43530677ab06235382a37e20.jpg
storage/da/39/a3ee5e6b4b0d3255bfef95601890afd80709.jpg

如果您迁移到分片存储,这也很容易移植。

关于architecture - 我应该在哪里存储照片?文件系统还是数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546485/

相关文章:

web-services - SOA - 服务应该有多精细才能保持性能?

android - 上传照片到 Facebook : Adding parameters before executing the newUploadPhotoRequest call gives the 'OAuthException' error

web-applications - 移动开发/架构 : Reuse Web App?

sql - 我将如何为读写操作实现单独的数据库?

java - 使用 IAM 身份验证和 Spring JDBC 访问 AWS RDS(DataSource 和 JdbcTemplace)

assembly - RAX 寄存器的名称是什么?

css - 无法使用 CSS 将 3 张相邻照片居中

Javascript 图像 slider

ios - 如何检测 PHAuthorizationStatus 的变化?

ios - 从 Photos.app 获取最后一张图片?