SQL Server数据库有没有集群方面的技术,这种集群技术是如何实现的?
微软用集群这个词和行业内其他的公司的用法和意义是不一样的。微软用集群这个词指的是故障转移群体。
业界其他一些公司定义集群,比如说Oracle是叫做可扩展性的升级群体(Cluster)。扩展性和可用性是两个很接近的概念,在很多的时候,他们两者会互相的影响,如果可用性不存在,扩展性也无从谈起。我现在要介绍的是关于SQL Server 2005在这方面的特性,是非常有利的一个特性。微软有一个叫做SSD(可扩展性共享数据库技术)。
我们应该尽量谨慎使用SSD这一缩写,因为SSD在业界有其他的一些表示,我们在微软内部用SSD来谈可拓展性的需求。相对于Oracle,IC是一个比较类似的技术。这种SSD技术有一个局限性,要求数据库是只读的,但是同时又能够被多个SQL Server Instense进行并发的访问,从这个上面来说,和Lise提供的功能是一致的,但是具有一定的局限性。我们在美国有一个最大的零售商就是使用这种技术来构建它的数据仓库。这个零售商每周要更新一次数据库系统,同时又有多个SQL Server要同时访问这个数据库。正是基于这种并发访问技术,同时提高了很高的可用性,如果一个服务器宕掉了,其他的服务器还可以同时对外提供服务。像这个典型的案例,在我们在线的帮助和相应的白皮书中都有详细的描述。
同时,我们也在使用相对于业界其他公司不同设计架构的一种方式来真正实现没有局限性,既有高扩展性又有高可用性的解决方案。还有很多用户在使用一种叫做数据路由的数据库。一个典型的案例是美国的MySpace公司,是美国最大的个人空间服务提供商,它就使用了数据路由数据库的技术来实现他对外用100个SQL Server的服务来集中对外提供服务。DID技术就能很好的平衡高可用性、扩展性这种综合的要求。而且从微软自身MSN.com网站也是使用同样的DID技术来提供高可用性、高拓展性的要求。