我维护一个Web应用程序(ASP.NET/IIS7/SQL2K8/Win2K8),它需要访问文档,实际上是成千上万的文档,并且还在增长。目前,它们都在Windows 2K8 Server文件共享上,由UNC路径(SMB)访问。这些文件位于一个单独的平面目录中,我正在尝试计划如何最好地改进此解决方案。我不想使用SQL Filestream属性,因为将它全部迁移到那里会非常费力,并且会真正锁定到SQL Server。我还需要找到一种方法来复制数据以进行灾难恢复,因此也许解决方案也可以为此提供帮助。
选项可以是:
假设我要存储在文件系统上,而不是存储在数据库中(我已经在这里阅读了这些争论),这将是一个更具可扩展性的解决方案?
答案 0 :(得分:1)
你有几个问题: - 管理大量(静态?)文件 - 准备备份和灾难恢复所述文件
我会把它扔到那里,即使我不是答案的粉丝,但你可能会使用服务器2k8附带的免费SharePoint 2010 Foundation。如果您在查找所需文档时遇到问题(通过搜索,通过标记或其他元数据进行分类)以及文档过期,并且您不想购买完整的文档管理系统,这可能是一种解决方案。当然它引入了新的问题......
如果你唯一的愿望就是让这些文件可以在网上吐出来,那么像你现在使用的文件存储真的是最简单的解决方案。出于DR /冗余目的,我会考虑a)在某种raid / SAN上运行它们,以及b)使用云(azure或amazon)自动同步它们。对于b),您可以获得使云显示为映射驱动器的应用程序,然后使用rsync类型软件使云保持最新。
如果您想构建新的和酷的东西,您可能会考虑将整个文件存档移动到云中,只需在数据库中编写一个表来管理文件名,旧位置,新的云位置和重定向器代码可以向请求者提供访问令牌。
3种不同的方法......你的选择。