高效可持续发展的架构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

伴随着企业的发展,企业的数据量和访问量也会迅猛增加,而这个时候数据库就会面临很大的负载和压力,意味着数据库会成为提升整个信息系统的瓶颈,这个时候大家常常会有两种解决的办法:

向上扩展:向单一节点添加硬件设备或将其升级为一个大型节点。

向外扩展:添加更多节点并将数据及工作负载分布于这些节点当中。

传统集群扩展的思路

微软所提供的集群解决方案基本上都是采用向上扩展的思路,在实际使用中表现出如下特性:

1.升级到综合性能更强大的硬件,带来的问题是硬件的浪费,一次性的投资增加。

2.单节点体系结构最终会达到一个瓶颈并无法实现进一步的有效扩展。具体表现为逐渐缩小的回报率或者价格惊人的昂贵硬件设备。系统得不到可持续的扩展,不能从根本上解决问题。

微软以其简单易用等优点占据了很大一部分客户,但是同时也不得不面临这样尴尬的局面:用户在实际中遇到这样的问题时,没有合适的集群方案解决,好多用户就面临着要移植到其他平台上,如Oracle,采用RAC来解决。大家都知道,这将是一个即费财力、物力、人力,同时还要面临很大风险的一个艰难过程。但是又不得不走这条路,没有办法。

Moebius的解决思路

Moebius For SQL Server就是在这样背景诞生的,集群采用“向外扩展”的思路,它的出现解决了SQL Server数据库应用中面临的一个重要问题:高性能、高可伸缩性与低价格之间的矛盾。

很多企业在开始创建的时候往往忽略了企业数据库的长远规划,如果选用传统的路线一边走一边更换性能更高的服务器,淘汰以前的服务器,这样做不但不能从根本上解决由于访问用户增加所导致的数据库压力增大的问题,反而会走很多的弯路,给企业带来极大的损失和浪费。

格瑞趋势可以为您提供了系统从小发展到大平滑过渡的一整套完整解决方案。使您的数据库系统达到可持续发展,为您解决了后顾之忧。在需要更高数据库处理速度的时候,只需简单增加数据库服务器就可以了,而且这些服务器的性能可以要求不一致,系统会按照服务器的能力自动分配压力。

Moebius集群解决方案

在数据库上采用向外扩展的架构并不是没有难度的,如何在数据库上构建负载均衡集群,如何用低消耗保证集群中各节点数据的实时同步?能否解决这一个问题成为集群应用成功的关键。

Moebius 核心理念和价值恰恰就在此处,核心程序宿主在SQL Server内部,监测数据的变化,同时还要解析引起数据变化的SQL语句的类型及其特点,经智能分析后,以最经济的方式完成与其他节点的数据同步。

解决方案一:

如果您正在使用或者将要安装使用SQL Server Cluster 、SQL Server2005 Mirror或第三方的HA集群软件实现失败转移,保证数据库的可用性。推荐您阅读解决方案一。

SQL Server Cluster

相对于单点来说Microsoft Cluster Server(MSCS)是一个可以提升可用性的技术,Microsoft称之为故障转移集群。

从硬件连接上看,很像Oracle的RAC,两个节点,通过网络连接,共享磁盘;事实上SQL Server数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份:

1. 因为始终只有一个节点在运行,在性能上也得不到提升,系统也就不具备扩展的能力。

2. 当现有的机器不能满足应用的负载时只能更换更高配置的机器。

3. 对于一个小型的应用来说,使用一个共享设备和一个在正常情况下用不到的机器,总体成本的浪费还是很严重的。

从细节上讲,当一个节点出现故障的时候,另一个节点接管业务又是需要一定的步骤和时间。

SQL Server2005 Mirror

镜像是SQL Server 2005中的一个主要特点,目的是为了提高可用性。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器(可选)。主体服务器和镜像服务器要求是独立的服务器实例。见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。

SQL Server2005 Mirror在可用性方面有了一些保证,但仍然是单点工作;在扩展和性能的提升上依旧没有什么帮助。

Moebius集群解决方案:

采用Moebius For SQL Server 标准版搭建集群,集群中两个数据库是同等地位的,中间件驻留在每个机器的数据库中,监测数据库内数据的变化并将变化的数据同步到其他数据库中。数据同步完成后客户端才会得到响应,同步过程是并发完成的,同步到多个数据库和同步到一个数据库的时间基本相等;另外同步的过程是在事务的环境下完成的,保证了多份数据在任何时刻数据的一致性。

该方案能给您带来以下的益处:

1.在SQL Server Cluster中闲置的那台机器被利用上了,不仅能失败转移还能负载均衡,提高了性能。

2.使用无共享磁盘架构,数据存储在每台机器的硬盘中,因此可以节省投资。

3.无共享磁盘架构在日常的维护以及故障时的修复等管理成本比SQL Server Cluster要低。

4.可持续发展的架构,方便扩展,随着系统压力的增长只需要添加进新的机器就可以了,不需要升级现

有系统的硬件配置,不需要改动应用程序。

解决方案二:

如果您现在使用的是基于SQL Server复制/订阅的方案。推荐您阅读解决方案二。

如图,所有的写操作都提交到中心数据库上,然后通过SQL Server 的复制/订阅功能把数据复制到其

他几个只读的数据库中,这样可以做到读写的分离,并且读可以做到负载均衡。

SQL Server复制/订阅对于性能的提升还是很大的,但是在实际应用中存在以下不足:

1. 数据同步的实时性得不到保障,中心数据库在正常的压力下10秒左右。当访问负荷很高或者中心数

相关文档
最新文档