文本文件应该存储在我的SQL Server数据库中吗?
我们使用几个文本文件作为模板来创建WCF数据服务-服务操作调用的结果 每个文本文件最多不超过3000位文本文件应该存储在我的SQL Server数据库中吗?,sql,sql-server,wcf,sql-server-2008,Sql,Sql Server,Wcf,Sql Server 2008,我们使用几个文本文件作为模板来创建WCF数据服务-服务操作调用的结果 每个文本文件最多不超过3000位 与将模板文件存储在SQL Server 2008 R2服务器中相比,将模板文件与WCF Data Services文件一起存储在文件系统中有哪些优点和缺点?在SQL Server 2008之前,我强烈建议不要将文本文件等大对象存储在数据库中。这往往会减慢访问速度,使他们更难合作。相反,我通常建议存储指向相关文件的链接 当然,这意味着如果有人删除了他们不应该删除的内容,并且文件需要与数据库分开备
与将模板文件存储在SQL Server 2008 R2服务器中相比,将模板文件与WCF Data Services文件一起存储在文件系统中有哪些优点和缺点?在SQL Server 2008之前,我强烈建议不要将文本文件等大对象存储在数据库中。这往往会减慢访问速度,使他们更难合作。相反,我通常建议存储指向相关文件的链接 当然,这意味着如果有人删除了他们不应该删除的内容,并且文件需要与数据库分开备份和传输,那么数据库将不会保护文件
对于SQLServer2008,我认为使用filestream函数已经克服了前面的许多问题,并且我认为使用filestream存储文件有时非常有用。它继续将实际数据存储在数据库之外,从而避免了以前的许多复杂情况。但它仍然将两者绑定在一起,并允许数据库保护文件,而不仅仅是依靠数据库中的链接来确保正确。这两种存储方法都有很多优点和缺点。如今(我的观点已经改变了,将来可能会再次改变),我会关注安全性和可管理性
- 如果是敏感数据,您可以通过将它们存储在数据库中来获得更高的安全性。如果没有别的,入侵数据库可能比入侵文件系统更困难。如果安全性不是那么重要,那么将其存储在操作系统上会更容易/更简单
- 对于管理,如果数据得到更新(以及更新的频率),更新有多容易?数据库中的一个实例比web场中每个服务器上的一个实例更容易更新(或损坏…)。(1台服务器,没有问题,20台服务器,可能会让人头疼。)
- 我认为最好直接将数据存储在数据库中。这使得访问速度更快,因为数据库在读取和处理数据方面效率更高。你可以随时将电影存储在数据库中——这没问题。然后也可以流式传输大数据
出于安全原因,现有的配置数据库的选项越来越多。如果您对数据库进行集群,这将更具可扩展性。您是否有任何特别的原因希望存储文件而不是文件的文本内容?奇怪的是,3K很小。即使在SQL 2005之前的版本中,您也可以将8K的数据放入varchar中。所以这实际上是一个更一般的问题:“我应该把我的配置数据放在哪里?放在文件中还是数据库中?”有很多关于这个主题的文章。