首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在内容管理系统中处理图像和文件附件

问在内容管理系统中处理图像和文件附件
EN

Stack Overflow用户
提问于 2010-10-08 15:53:08
回答 4查看 644关注 0票数 4

假设:Microsoft堆栈(ASP.NET;Server)。

一些内容管理系统通过将用户生成的内容(图像、文件附件)存储在文件系统中来处理它。其他人则将这些项目存储在后端数据库中。

这两者的一些例子:

  • 在文件系统中: Community、Graffiti CMS
  • 在数据库中:

我可以看到每种方法的利弊。

在文件系统中

  • 轻量级
  • 避免数据库膨胀
  • 备份和还原可能更简单

在数据库中

  • 将所有内容放在一个存储库(数据库)中
  • 完全分离关注点(内容与格式)
  • 更容易地部署网站(例如直接从Subversion存储库)

什么是最好的方法,为什么?将用户文件保存在数据库中的利弊是什么?还有别的办法吗?

我之所以提出这个问题,是因为它有点主观。

EN

回答 4

Stack Overflow用户

发布于 2010-10-22 18:59:03

如果您使用的是Server 2008或更高版本,则可以使用FileStream功能来充分利用这两种功能。也就是说,您可以从数据库访问文档(用于查询等),但仍然可以通过文件系统(使用SMB)访问文件。这里有更多细节。

埃里克

票数 1
EN

Stack Overflow用户

发布于 2010-10-08 18:49:59

我选择文件系统是因为它使文档的编辑变得更容易,也就是说,当用户编辑一个文件或文档时,它可以保存在加载的位置,而不需要程序或用户的干预。

票数 0
EN

Stack Overflow用户

发布于 2010-10-08 18:56:43

国际海事组织,就目前数据库中现有的功能而言,文件系统是更好的选择。

  1. 文件系统对文件的大小没有限制,对于内容,这很容易成为大于2GB的文件。
  2. 它使数据库的大小更小,这意味着对内存的压力更小。
  3. 您可以将您的系统设计为使用can和NASs,甚至云存储,因为您不能使用FILESTREAM来实现这一点。

使用文件系统的最大缺点是有可能使文件孤立,并使文件上的数据库信息与磁盘上的实际文件保持同步。诚然,这是一个巨大的问题,但直到像FILESTREAM这样的解决方案更加灵活,这是你必须付出的代价。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3892237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档