当涉及到SQL Server的高可用性,许多DBA,特别是SQL Server DBA,心中有一个痛:因为每个人都认为SQL Server无法或难以实现的SQL Server,也有很多的头DBA的朋友,答案是,高可用性不是技术的微软,如
复制、
故障转移群集…
1。SQL
服务器在高可用性上显得如此脆弱吗
答:不,事实上,SQL服务器是可怕的。
2。为什么很多人总是抱怨SQL服务器的高可用性很难实现
这里有几种方式。
首先,许多项目(大部分是欧洲和美国)已经接触过。在这些项目中有许多所谓的海量数据。也有许多高
性能应用程序。他们使用的是SQL Server,而第三方数据库辅助软件还没有被采用。
其次,我们谈论的是人的问题。人们有这样的习惯:每次遇到问题后,第一
反应就是逃避,然后找个好理由或替罪羊。最后,我们开始责怪技术本身。它类似的剑,当菜鸟,杀了人,不是你自己的能力不好,但奇怪的刀是不好的。说到这,我想起以前的CSDN
密码泄漏的问题。很多人甚至诅咒微软的技术。对于那些通过微软技术实现高安全性的
公司来说,这是一个笑话。
再次,过度泛化的概念!很多人认为复制是一种高可用,所以他不希望复制来
解决他们的问题,他们不知道,复制是它的高可用性的一个重要组成部分,但不是全部。在这里,我想一些类似的误解,认为jQuery的Ajax技术,但是jQuery是一个框架可以用于实现AJAX。有些人认为建筑设计使用的设计
模式和架构模式,架构设计实际上是一种思维方式,而只是一个小手段,设计比作一个建筑,这是一些砖的最佳模式,但不是所有的的。
同样,复制只是高可用性的一块砖。
最后,掌握技术的程度还不够,很多人在遇到问题时都无法解决问题,也不知道要找谁,在哪里找。
三.高可用性是通过软件或产品来实现的吗
很多人都在考虑甲骨文的RAC和一些第三方产品。不同的产品,封装的程度是不同的。有些产品封装了很多东西,只是让人们
学习如何使用OK
工具,而不必掌握细节。然而,当使用这些产品时,他们实际上是根据产品设计者在部署和
操作时的想法建立高可用性,但我们认为这个过程是手工的。
SQL Server本身并没有提供这样一个完全
打包的产品,但高可用性设计所需的
核心技术和
组件已经可用。钉子,螺丝钉和材料都在那里。这取决于你如何组装它们。
同样的烹饪材料和工具,聪明的厨师做美味的食物,普通厨师刚刚做好菜肴。
4。高可用性仅仅是数据库技术
要实现高可用性,不仅要考虑数据库的内容,还要更多地考虑设计和体系结构的
功能,需要了解软件、
硬件、操作
系统、
网络、数据库等技术。
高可用性并不是一个特定的技术,而是一个概念,实现它的方式是成千上万的。有人说高可用性是读写分离,高可用性是负载平衡,对吗你可以用脚趾回答这些问题。
5。没有万能的产品和万能的方案,一切都取决于
情况。
很多人都在争论非共享
磁盘(数据库),而且水平很好地分开了。这些话的生硬:单独讨论,没有任何意义。不要在具体的应用中使用技术,不带来经济价值,技术是没有的。
产品、技术等各有其适用范围和局限性。很多社区的朋友总是像一个通用产品功能的时候,他们正在讨论,例如,有人说,SQL Server 2012在实现高可用性。难怪:技术是人的使用,产品只是我们的人在设计中使用的一部分,最终的设计或看人。早10多年前,有公司进行了SQL 2000很多大型的应用程序,而在当时,SQL Server没有这么多的功能和组件。