2011-02-01 82 views
1

我维护一个Web应用程序(ASP.NET/IIS7/SQL2K8/Win2K8),它需要访问文档,实际上有数十万个文档,并且正在增长。目前,它们都在Windows 2K8服务器文件共享中,由UNC路径(SMB)访问。这些文件位于一个单一的平面目录中,我正试图规划如何最佳地改进此解决方案。我不想使用SQL Filestream属性,因为将它全部移植到SQL Server文件中并且真正锁定到SQL Server是非常重要的工作。我还需要找到一种方法来复制数据以进行灾难恢复,所以也许解决方案也可以为此提供帮助。如何缩放文档存储系统?

选项可能是:

  • 段文件到多个目录?
    • 应用会(通过其他方式或段),增加对哪个目录是元数据
  • 段文件到不同的服务器? (虚拟化)
    • 备份变得更加复杂。
    • 应用将增加对这些服务器是在
  • NAS存储
  • SAN存储
  • 将服务(WCF)中的文件前的元数据,并有应用聊到服务
    • 奖金可再利用的在多种应用中

假设我要存储在文件系统上而不是数据库中(我已经阅读过这些文件),这将是一个更具可扩展性的解决方案?

回答

1

你有几个问题: - 管理大量的(?静态)文件 - 准备备份和灾难恢复的文件说

我会扔了这一点,在那里,即使我我不是这个答案的粉丝,但是你可能会嘲笑服务器2k8附带的免费SharePoint 2010 Foundation。如果您在查找需要的文档时遇到问题(通过搜索,分类标签或其他元数据)以及文档到期,并且您不想购买完整的文档管理系统,这可能是一个解决方案。当然,它引入了新的问题...

如果你唯一的愿望是让这些文件可以在网上吐出来,那么你现在使用的文件存储真的是最简单的解决方案。对于DR /冗余的目的,我会看a)在某种RAID/SAN上运行它们,并且b)自动与云(无论是天蓝色还是亚马逊)同步它们。对于b),您可以获取使云看起来像映射驱动器的应用程序,然后使用rsync类型软件保持云更新。

如果你想建立一些新的和酷的东西,你可能会考虑将整个文件存档移动到云中,并在数据库中编写一个表来管理文件名,旧位置,新的云位置和重定向器代码可以向请​​求者提供访问令牌。

3种不同的方法......您的选择。

+0

感谢您的回答!我似乎一次又一次地回到云选择,所以这是一定要看的。简单是我书中的关键,所以可能没有SharePoint,但这是我没有考虑过的。对于亚马逊,你有任何喜欢同步软件?我记得看过几个,但大多数声称“不是为了同步那么多文件而构建的”或类似的东西。 – RyanW 2011-02-01 19:25:03