SQL Server 2008 R2 的多个活动节点

SQL Server 2008 R2 的多个活动节点

这是否可以立即实现,或者使用额外的工具或框架来实现?

我希望设置至少两台同时活动的机器,以便更好地了解数据库的高可扩展性如何工作。像 Facebook 这样的网站必须使用多个节点来处理其大量的查询和更新,对吗?

如果我在谷歌搜索时错过了任何有用的资源,哪怕只是链接也会很感激。

答案1

SQL Server 仅支持主动-被动集群。它不提供任何与 Oracle RAC 或 IBM PureScale 相当的功能。因此,不可能有多个主动数据库实例。

对于查询类型的应用程序,可以多次克隆同一个数据库。对于更新类型的工作负载,可以对数据集进行分区,并只允许一个活动节点更新相应的数据“分区”。最后一句中描述的分区与它描述的数据节点所有权的分区功能无关。

但一般来说,如果需要支持这样的要求,最好切换到支持该功能的产品(如 Oracle RAC)。上述解决方案在开发时间和可管理性方面无法很好地扩展。

答案2

查看 MVP 和 Microsoft 认证大师 Brent Ozar 的这篇文章:
http://www.brentozar.com/archive/2011/06/scaling-sql-server-growing-out/

它归结为复制,但并不简单。

答案3

这可以通过特殊设计(分布式分区视图)和业务层来实现,业务层负责将查询发送到何处。bwin.com 有一个参考设计,使用分布式分区视图可以在任何节点上进行更新(无需修改上层),但我建议进行此修改以获得最佳性能。

相关内容