是否有可能以某种方式水平扩展SQL Server 2008数据库以通过向群集添加额外服务器来提高性能?
谢谢
答案 0 :(得分:2)
可以跨多个水平实例传播数据,但维护可能会令人头疼。您可以基于通用方案对数据进行分区。 IE,可以通过将某些名称部分放在不同的数据库中来对Person表进行分区。例如,一台服务器采用A-E,另一台采用F-I等。然后,您需要一个中间层来确定要查询的数据库。当您需要查询整个数据库时,这是一个粗略的方法,因为有很多要编排的。
如果有经常无法查询的数据,您可以PARTITION
数据。这通常是基于日期并使用被称为“滑动窗口”的东西。数据的最后X天/月/年数据位于一个表中,其余数据位于另一个很少被点击的表中。 (如果需要,你甚至可以将另一个表放在另一个数据库中)。这减少了经常被击中的表格中的混乱。这里有一个教程http://msdn.microsoft.com/en-us/library/aa964122%28SQL.90%29.aspx