Sharepoint MOSS定制v';这是未经雕琢的

Sharepoint MOSS定制v';这是未经雕琢的,sharepoint,moss,customization,Sharepoint,Moss,Customization,如果Microsoft构建MOSS以便将所有数据写入SQL Server数据库,那么为什么所有最佳开发实践都建议将文件等保留在数据库之外,即文件系统上 最好的这是一个哲学项目。事务完整性是将文件存储在数据库中的一个好处。随之而来的是负面影响,比如不断膨胀的事务日志 如果在Sharepoint的未来版本中,MS允许您使用SQL 2008的filestream功能“在数据库之外”存储文件,我也不会感到惊讶。由于性能问题:只为了获取页面布局而保存到数据库的往返路径,这会损害性能 另一方面,使用本地文件

如果Microsoft构建MOSS以便将所有数据写入SQL Server数据库,那么为什么所有最佳开发实践都建议将文件等保留在数据库之外,即文件系统上


最好的

这是一个哲学项目。事务完整性是将文件存储在数据库中的一个好处。随之而来的是负面影响,比如不断膨胀的事务日志


如果在Sharepoint的未来版本中,MS允许您使用SQL 2008的filestream功能“在数据库之外”存储文件,我也不会感到惊讶。

由于性能问题:只为了获取页面布局而保存到数据库的往返路径,这会损害性能


另一方面,使用本地文件系统上的文件来提高性能会减少自定义选项。

如果希望网站用户编辑这些文件,则有必要将这些文件保留在数据库中。SharePoint旨在使这些文件中的大多数文件可编辑,因此它们可以存储在数据库中

如果作为应用程序架构师,您知道一些高使用率的文件(页面布局、母版页等)除非通过解决方案版本才能编辑,那么您可以选择将页面存储在文件系统中

在文件系统上存储对读取访问性能的改善很小,因为不需要数据库往返。例如,网站中的每个页面都需要母版页,因此将其存储在文件系统中可以提高高用户需求时的性能


SQL 2008能够“在”数据库之外管理文件,这一事实表明,这一功能不仅仅适用于SharePoint。

保持SharePoint页面未格式化允许在第一次执行时编译页面的一个实例,然后将其保存在内存中并重新用于所有同类页面。自定义页面不共享此行为的原因是它们是唯一的,并且一旦ApplicationDomain加载dll,它就无法卸载。因此,每个请求都会解析自定义页面。

我想说的是,所有最佳实践并不是说您应该使用文件系统来存储文件。这将始终取决于情况。当您只有一台服务器时,在文件系统上存储文件是可以的,但是当文件需要在多台服务器上时,您必须管理复制。备份数据库通常比备份数据库和文件更容易。所有这些情况都可以管理,但你需要灵活。

你从哪里获得这些“最佳实践”

根据我与MS和MOSS的经验,我应该说我从未听说过这样的最佳实践,除了一个非常特殊的案例。。。我认为这不是一个好的做法

这样部署并不容易。。。管理员用户必须知道在哪里可以找到要修改的文件,备份就像地狱一样,等等


但是,正如我所说。。。在特定情况下,它可能会很有用。

SharePoint有一种称为ghosing的技术,它将分页缓存到文件系统中

我没听说过这样的“最佳实践”。。。100%同意你的意见。我总是尝试将所有内容都放在内容数据库中。我在这里谈论的是开发,即功能、解决方案、母版页、布局、网页部件等。MVP的大多数技术书籍/文章建议将文件保存在文件系统中,而不是数据库中。。。。我想