一种实现microsoftsqlserver数据库负载均衡集群的方法

文档序号:6597244阅读:1167来源:国知局
专利名称:一种实现microsoft sql server数据库负载均衡集群的方法
技术领域
本发明涉及数据库集群应用领域,具体涉及一种实现Microsoft SQL Server数据 库负载均衡集群的方法。
背景技术
数据库集群(Cluster)软件还是符合市场竞争的要求,尽管各厂商宣称自己的 架构如何完美,但是始终不能改变Oracle当先,大家追逐的事实,在集群的解决方案上 Oracle RAC还是领先于包括微软在内的其它数据库厂商,它能满足客户高可用性、高性能 和方便扩展的需求。 微软以其简单易用等优点占据了很大一部分客户,但是同时也不得不面临这样的 局面伴随着企业的发展,企业的数据量和访问量也会迅猛增加(如一些电子商务企业或 网站),而这个时候数据库就会面临很大的负载和压力,意味着数据库会成为提升整个信息 系统的瓶颈,这时大家常常会有两种解决的办法 第一、升级到综合性能更强大的硬件,带来的问题是硬件的浪费,然而,单节点体 系结构最终会达到一个瓶颈并无法实现进一步的有效扩展。具体表现为逐渐縮小的回报率 或者价格惊人的昂贵硬件设备。系统得不到可持续的扩展,不能从根本上解决问题;
第二、组建数据库集群,而Microsoft所提供的集群解决方案又不能很好的满足 需求,好多用户就面临着要移植到Oracle平台上,采用RAC来解决。大家都知道,这将是一 个即费财力又费物力、人力时同时还要面临很大风险的一个艰难过程。
那么有没有一个即不向大机器的方向发展,又不用升级到Oracle RAC上的方案 呢?能不能在Microsoft SQL Server的架构上实现像Oracle RAC—样高性能、高可用性 和方便扩展的集群解决方案呢?这正是本发明所尝试解决的问题。

发明内容
本发明的目的是提供一种实现Microsoft SQL Server数据库负载均衡集群的方 法。 本发明的目的是按以下方式实现的,基于无共享磁盘架构,在SQL Server数据库 集群节点上部署一种"数据库中间件"程序,当集群中的任一节点数据产生变化时,"数据库 中间件"就会将变化的数据同步到其他节点,各节点上"数据中间件"充分保证数据每时每 刻都同时保持一致的,数据库查询操作允许在任何节点中执行,从而做到真正的负载均衡。 其中 基于无共享磁盘架构,是指在SQL Server数据库数据直接存储在数据库集群节点 中的本地存储设备上。 数据库中间件程序,是指在应用访问层对数据库操作进行分析和处理的一种程序 软件。
数据库中间件将变化的数据同步到其他节点,是指当"数据库中间件"检测到集群 中的某一节点数据产生变化时,"数据库中间件"会触发变更数据的同步操作,将变更的数 据复制到集群其他节点。 数据在每时每刻都是一致的,是指在任意时间点,SQL Server数据库集群节点内 的数据库数据完全一样。 数据库查询操作做到真正的负载均衡,是指SQL Server数据库集群节点同时处理 数据库查询操作。 本发明的优异效果是采用了 2个数据库节点进行Microsoft SQL Server数据库 负载均衡集群的实现设计。设计上采用无共享架构,数据库数据直接存储在每个节点的本 地存储中,节点1和节点2具有相同的数据,"数据库中间件"程序解析到一个更新的SQL语 句后,会同时更新两个数据层的数据库。更新操作是并行的,保证了两个数据库中的数据是 一致的,实现了真正的冗余,当读取时可以从两个节点的随便一个中读取数据,做到了负载 均衡。


附图1为SQL Server数据库负载均衡器集群架构示意图。 附图2为SQL Server数据库负载均衡器集群数据读写过程示意图。
附图3为SQL Server数据库负载均衡器集群数据更新过程示意图。
具体实施例方式
参照附图对本发明的方法做以下详细的说明。 实现原理为和SQL Server数据库镜像一样,每个数据库节点都有自己的数据,
然后将一种"数据库中间件"的程序宿主在数据库的内部,每个节点数据库上写入数据导致 数据变化时,SQL Server则会激活"数据库中间件",将把变化的数据同步到其他的节点上。
其他节点发生变化也是一样。因为"中间件"宿主在数据库内,所以它能够把每个同步的 Session (数据库中间件操作会话)和SQLServer的Session (数据库事务操作会话)绑定 到一起,也就是使用户的执行和数据的同步成为一个原子操作,从而保证数据在每时每刻 都是一致的。因此查询可以随便到每个机器上去查,从而做到了真正的负载均衡。
实施的具体步骤如下 1)在节点l和节点2上安装Microsoft SQL Server数据库,将两节点数据库配置 成镜像模式; 2)在节点1和节点2上安装"数据库中间件"程序,包含访问层和数据层程序;
3)在客户端执行并发查询,验证负载均衡功能。
权利要求
一种实现MICROSOFT SQL SERVER数据库负载均衡集群的方法,其特征在于,基于无共享磁盘架构,在SQL Server数据库集群节点上部署一种“数据库中间件”程序,当集群中的任一节点数据产生变化时,“数据库中间件”就会将变化的数据同步到其他节点,各节点上“数据中间件”充分保证数据每时每刻都同时保持一致的,数据库查询操作允许在任何节点中执行,具体步骤如下采用了2个数据库节点进行Microsoft SQL Server数据库负载均衡集群的实现设计,数据库数据直接存储在每个节点的本地存储中,节点1和节点2具有相同的数据,“数据库中间件”程序解析到一个更新的SQL语句后,会同时更新两个数据层的数据库,更新操作是并行的,保证了两个数据库中的数据是一致的,实现了真正的冗余,当数据读取时从两个节点的随便一个中读取数据,从而做到真正的负载均衡。
2. 根据权利要求l所述的方法,其特征在于,基于无共享磁盘架构,是指在SQL Server 数据库数据直接存储在数据库集群节点中的本地存储设备上。
3. 根据权利要求1所述的方法,其特征在于数据库中间件程序,是指在应用访问层对 数据库操作进行分析和处理的一种程序软件。
4. 根据权利要求1所述的方法,其特征在于,数据库中间件将变化的数据同步到其他 节点,是指当"数据库中间件"检测到集群中的某一节点数据产生变化时,"数据库中间件" 会触发变更数据的同步操作,将变更的数据复制到集群其他节点。
5. 根据权利要求1所述的方法,其特征在于,数据在每时每刻都是一致的,是指在任意 时间点,SQL Server数据库集群节点内的数据库数据完全一样。
6. 根据权利要求1所述的方法,其特征在于,数据库查询操作做到真正的负载均衡,是 指SQL Server数据库集群节点同时处理数据库查询操作。
全文摘要
本发明提供了一种实现Microsoft SQL Server数据库负载均衡集群的方法。其设计思想是通过一种“数据库中间件”程序让多个SQL Server数据库节点同时工作,当某一节点出现故障时,其余节点可以继续提供服务。其特征为基于无共享磁盘架构,在SQL Server数据库集群节点上部署一种“数据库中间件”程序,当集群中的任一节点数据产生变化时,“数据库中间件”就会将变化的数据同步到其他节点。同时,“数据中间件”可以充分保证数据在每时每刻都是一致的。数据库查询操作可以在任何节点中执行,从而做到真正的负载均衡。
文档编号G06F17/30GK101727496SQ20101001187
公开日2010年6月9日 申请日期2010年1月15日 优先权日2010年1月15日
发明者李志强 申请人:山东高效能服务器和存储研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1