【问题标题】:storing picture in database? [duplicate]将图片存储在数据库中? [复制]
【发布时间】:2011-04-18 15:07:33
【问题描述】:

可能的重复:
Storing Images in DB - Yea or Nay?
Saving images in database mysql

我有一个网站,用户可以在其中上传个人资料图片和相册。现在我开始怀疑我是想将图片保存到数据库中还是文件操作仍然可以,因为它变大了? 我在想像社交网络这样的巨大规模,存储在文件中的数亿张图片在我看来很疯狂,所以我确定它必须以其他方式存储?

任何建议或指导。 谢谢

【问题讨论】:

标签: mysql


【解决方案1】:

将它们存储在您的网络服务器上并将 URL 保存在您的数据库中会是一个更好的主意。它也使修改图像变得更容易。

【讨论】:

  • 是的 - 如果不在网络服务器上,至少在静态 CDN 上。
【解决方案2】:

这两种方法各有利弊。数据库并不适合存储大量数据。这样做往往会占用数据库上的大量资源(CPU、内存、硬盘空间以及数据库和 Web 服务器之间的网络带宽)。这将使数据库备份更大。

但是,将图像存储在单独的文件系统(例如在 Web 服务器上)的一个大问题是,将图像与数据库中的数据同步要困难得多。如果用户在进行数据库备份时更改了照片,谁知道您最终会处于什么状态。如果您需要从备份中恢复数据库,那么同步图像将非常困难。如果您不小心,您还可能会在浪费磁盘空间的情况下获得孤立的图像。

恕我直言,维护数据库和文件系统之间的数据完整性太费力气了,所以我会把它们存储在数据库中,花点钱买硬件让它跟上。

【讨论】:

    【解决方案3】:

    在您要开发社交网站时将图片保存在您的网络服务器上,因此这将是数据库的巨大负担。因为有时您必须处理 ++MB 的图片。因此,仅将链接存储在 BD 中。

    从文件中,您可以轻松地玩图片,甚至可以轻松地将它们迁移到数据库中而不会产生任何影响。

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 2023-04-09
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 2010-11-07
      • 2019-08-10
      • 1970-01-01
      • 2015-01-31
      相关资源
      最近更新 更多