是否为我的每个客户提供了可扩展的专用数据库和应用程序池?

Dan*_*ton 7 sql-server asp.net iis application-pool

我们的团队目前正在集思广益一个产品理念,这个理念在我们的方言中已经存在了几年了.

它很可能是托管在WISC堆栈上的ASP.NET MVC Web应用程序(Windows,IIS,SQL Server,C#)......

理想情况下,我们喜欢跟随类似路线前往雾溪的家伙们使用fogbugz提供托管和"运行服务器"风格的解决方案.

当然,我们希望保持代码和数据库模式几乎完全相同(出于维护目的),因此我们可以一次编译.

因此,拥有"为所有用户提供一个大数据库"似乎会增加开发人员开销,从而保持架构等方面的差异.

我记得在2008年收听了堆栈溢出播客,其中joel spolskey提到他的SQL Server实例有数千个数据库,因为它们为每个用户提供了一个专用数据库,但是SQL Server 2000管理那么多数据库时出现了扩展问题.

所以我的问题是:

  1. 这个解决方案是否易于管理?
  2. SS2008能否更好地管理数千个数据库?
  3. IIS可以处理那么多应用程序和池吗?
  4. 这种设置还有更多成功案例吗?
  5. 这可能在vanilla WISC基础设施上实现吗?

Dav*_*ras 2

我认为 SQL Server 2008 对于这种方法不会有任何具体问题。

无论如何,如果您寻求高可用性、可靠性和可扩展的解决方案,您应该考虑拥有多个 Web 服务器和多个数据库服务器。只是为了确保万一一台机器发生故障,您的数千个用户/客户的所有内容不会立即变得不可用。