我什么时候应该将文件上传到数据库而不是 Web 应用程序中的服务器?

When should i upload a file into a database instead of the server in a web application?

正如标题所说,我担心什么时候应该在数据库而不是服务器上上传文件。

这些天我第一次遇到需要将 .pdf 文件上传到我的 Web 应用程序中,以便每个需要它的人都可以访问它。 但我的第一个方法是将文件上传到数据库中。

但那不是我的情况;我只需要上传一个文件,然后通过下载 link,让用户可以下载它。

但另一方面,我想知道,由于 "blob" 类型的巨大限制:我应该什么时候将文件上传到数据库而不是服务器?

我一直喜欢将 items 存储在 filesystem 并将 paths 存储在数据库.

我认为将它放在 BLOB 中的唯一好处是您可以移动数据库而不必担心分发文件。对于普通网站,这并不重要,但对于某种产品,如 CMS 或网站插件,将资源文件包含在分发中是一种方便的方法...

我更喜欢文件系统的原因是因为文件系统就是为文件服务而设计的。我没有看到任何合理的理由通过将所有数据推送到数据库来将所有压力置于瓶颈中。


另一方面,我唯一一次建议在 SQL 中将文件存储为 BLOB 是图像或文件包含敏感数据(即医学图像等) .) 您需要 SQL 服务器提供的安全性。否则从 文件系统 存储和读取文件要快得多;您可以在 SQL 服务器中保留对文件位置的引用以获得最佳方法。