我们使用多个文本文件作为模板来创建WCF数据服务 - 服务操作调用的结果。应该将文本文件存储在我的SQL Server数据库中吗?
该文本文件每个小于3000 Bites Max。
将我的模板文件与WCF数据服务文件一起存储在文件系统中与将它们存储在SQL Server 2008 R2服务器中有什么优缺点?
我们使用多个文本文件作为模板来创建WCF数据服务 - 服务操作调用的结果。应该将文本文件存储在我的SQL Server数据库中吗?
该文本文件每个小于3000 Bites Max。
将我的模板文件与WCF数据服务文件一起存储在文件系统中与将它们存储在SQL Server 2008 R2服务器中有什么优缺点?
在SQL Server 2008之前,我强烈建议不要在数据库中存储大型对象(如文本文件)。它往往会降低访问速度,并使他们通常更难以使用。相反,我通常建议存储链接到有问题的文件。
当然,这意味着数据库不会保护文件,如果某人删除了他们不应该保存的文件,并且文件需要从数据库中单独备份和传输。
在SQL Server 2008中,我认为许多前面的问题已经被使用filestream函数克服了,我认为使用filestream存储文件有时会非常有用。它继续将实际数据存储在数据库之外,这避免了许多以前的复杂情况。但它仍然将两者绑定在一起,并允许数据库保护文件,而不仅仅依赖数据库中的链接才能正确。
存储方法有很多优点和缺点。如今(我的意见已经发生了变化,并且有可能在某一天再次发生变化),我将重点放在安全性和可管理性上。
我认为最好是直接在数据库中存储数据。这使得访问速度更快,因为数据库在读取和处理数据方面效率更高。您可以随时将数据存储在数据库中 - 这没有问题。那么也可以传输大量数据。
出于安全原因,现有更多配置数据库的选项已足够。而且,如果您将数据库集群化 - 这更具可扩展性。
是否有什么特别的原因让你更喜欢存储文件而不是文件的文本内容?好奇,这一切都是 – 2012-01-10 17:58:58
3K是非常小的。即使在SQL 2005以前的版本中,您也可以将8K数据放入varchar中。所以这实际上是一个更通用的问题:“我应该在哪里放置配置数据,在文件还是数据库中?”关于这个话题写了很多。 – 2012-01-10 18:20:44