位置: 编程技术 - 正文

sql server2005实现数据库读写分离介绍(sql2005使用)

编辑:rootadmin
Internet的规模每一百天就会增长一倍,客户希望获得7天×小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点“Server Too Busy”及频繁的系统故障。 随着业务量的提高,以及访问量和数据流量的快速增长,网络各个核心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资源的浪费,而且下一次业务量的提升,又将导致再一次硬件升级的高额成本投入。于是,负载均衡机制应运而生。 对于负载均衡,笔者经常接触的当属Oracle的负载均衡机制。下面,我们先简单了解Oracle的负载均衡的实现方案。 Real Application Clusters是双机并行服务器(8i及以前版本称作Oracle Parallel Server,OPS),用来在集群环境下实现多机共享数据库,以保证应用的高可用性,同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的排错和无断点恢复。它可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。若并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。这使周期性和非周期性发生故障的系统增大了连续可用性。进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。 下面我们重点介绍Sql Server 是如何实现负载均衡的。 Sql Server 的新特性 端到端拓扑的事务性复制 SQL Server 对端到端(P2P)拓扑结构上事务性的复制加强了支持。P2P的拓扑结构支持无限的发布服务器,它们彼此之间可以互相交换事务。 P2P拓扑是SQL Server的一个巨大进步。现在,多端点服务器可以更改数据,并且向其他的发布者复制事务。这就是说,订阅服务器不再被限制在主要的报告环境中,可以通过事务性负载全球共享的方式将服务器分布开来。当用户的数量增加的时候,只要简单地向这个群体中添加服务器即可。 除了将负载分布之外,这个拓扑结构还增加了可用性。如果任何一个点的服务器不可达,则池中其他服务器就会共享这个负载,因为每个服务器都有其他所有服务器上可获得的全部数据集合。 数据库镜像和快照 SQL Server 引入了数据库镜像的概念,来帮助获得高可用性。特别提醒的是,只要它正式发布了,数据库镜像就可以在SQL Server 上使用。然而,只有到SQL Server Service Pack 1才会支持镜像。 数据库快照是SQL Server 中引入的另一项特性。快照是某一个时间点上的数据库的克隆。只要对镜像数据库进行了快照,就可以让用户查询快照。快照的生成通常只需要几秒钟,因为它实际上在这个过程中并没有拷贝任何数据。因此,要把负载分布到主服务器和备用服务器上,就可以将数据库做镜像,然后阶段性地对备份服务器进行快照。而且还可以使用快照在主服务器上进行报告。 软件实现SQL Server 的负载均衡 中间层 实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具体控制访问某个数据库了,然后还可以根据数据库的当前负载来调整每次连接到哪个数据库。好处在两个方面:首先,它成功地将数据库放到了内网之中,更好地保护了数据库的安全性。如果数据库也在公网上,端口是很容易被攻击的,所以要保护数据库与之的连接,就用到了中间层。它可以将数据库更加好地保护在内网。其次,连接数据库的所有连接都可以控制,更方便DBA对数据的管理,看哪些连接更耗费数据库资源,以便更好地优化代码。 但是,也有两点要注意:第一,必须要做成Windows的服务程序。Windows发展到今天,如果以一个集成的大系统来讲,做成服务程序更加稳定,也更加安全,这样做即使用户不登录机器,也可以使用。第二,必须要使用多个中间层。从中间层的作用可以看出,它承接了数据库的所有连接,所以,一旦出了问题,就会导致整个系统瘫痪。所以做多个中间层是必要的,这样,如果一个坏了可以登录到另一个。 实现多据库数据同步 中间层有了,下一步的工作是设置构建数据库集群。对于负载均衡,最重要的就是所有服务器的数据都是同步的。这是一个集群所必需的,因为,如果数据不同步,那么用户从一台服务器读出的数据,就有别于从另一台服务器读出的数据,这是不能允许的。所以必须实现一个数据库的数据同步。这里设置一个用于写入的数据库,设置两个用于读出的数据库,因为据统计,一般来讲,%的数据库操作为读操作。 首先,在写入数据库上做一个发布服务器,主要基于SQL Server 的复制技术,将即将用到的表都选上。注意,在连接上要选用模拟用户,然后共享时选择sa用户,这样就可以将数据共享了。 其次,在两个读服务器上做订阅服务,要注意同样的事项,这样一个“一写两读”的数据库集群就完成了。 数据库的安全备份 在一个大的系统中,系统的无故障性是很重要的,但是在刚才的系统下,如果用于写的服务器突然坏了,整个系统就会出现问题,所以,再做个备份是必要的。 数据库镜像是SQL Server 大力推出的,它就是要实现数据库的安全转移,所以需要再单独拿出一台机器来做备份服务器,将完全镜像写入该服务器,这样,即使写入服务器坏了,它也可以自动转移到备份服务器上来,保证不影响用户。 这实际上就相当于实现了对服务器的容灾管理,但是有一点需要注意,在这种镜像的体系中,必须要有一台服务器作为监视服务器,以便察看哪台服务器坏了,用以在机器出错之后迅速调整。 回传数据库的状态 数据库服务器均已配完,整体的机器集群架构已经构建,接下来的工作就是配置程序。 首先,在读和写的服务器都放上一个监控程序,它同样必须是Windows的服务,这样更稳定;其次,它可以设定成每隔秒或者一定时间,将服务器的CPU、内存、网卡流量和当前数据库状态等信息发送回来。在这里需要设置一个权值,用以衡量CPU、内存利用率等信息的各自比例。在这个系统中,建议以CPU利用率为准。 中间层实现的负载均衡 到此为止,所有的准备工作都已完成,包括数据库的建立和配置,中间层的位置,下面所作的就是用软件来实现这个负载均衡。 首先,当一个用户有数据库请求时,先判断是读还是写,如果是写的话,就直接返回写入服务器,这样当写服务器写完数据以后,差不多可以在3秒内返回其他两台机器。 其次,当遇到一个读的请求时,根据监控返回来的数据判断,根据刚才的权值返回一个当前最空闲的机器。需要注意的是,这时最好做一个记录器,用以保持一段时间的数值,可以让管理员自行设定,更好地做到几台数据库的压力平衡。 最后,如果为主的写入服务器突然坏掉,程序可以自动把备份的服务器切换过来,用刚才的备份服务器当作写服务器,然后做一个报警系统,用以通知管理员。同样,当监控服务器发现其他两台读服务器坏掉时,也会自动通知管理员,来处理服务器的异常情况,这样就可以保证系统的稳定运行,而且易于管理和维护。 总之,用软件和微软SQL Server 的一些新技术,可以很轻松地实现负载均衡,这样不但可以不用硬件来实现,方便管理员的操控,更有利于DBA管理数据库,及时发现问题。

推荐整理分享sql server2005实现数据库读写分离介绍(sql2005使用),希望有所帮助,仅作参考,欢迎阅读内容。

sql server2005实现数据库读写分离介绍(sql2005使用)

文章相关热门搜索词:sql server2000怎么用,sqlserver2005简介,sql server2000怎么用,sql server 实例,sql server2005怎么用,sql server 实例,sql server 实例,sql server2005怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

SQLCLR函数扩展 - 关于山寨索引 本文只是一个山寨试验品,思路仅供参考.--------------------------------------------------------------------------------原理介绍:索引建立目录结构划分方案也只是很简

SQLCLR函数扩展-繁简转换的实现代码 这个方法比较简单,用Microsoft.VisualBasic命名空间下强大的字符串处理函数就可以了c#代码如下,编译为BigConvertor.dll--------------------------------------------------

SQLCLR函数扩展-解析天气服务的实现 我们可以用CLR获取网络服务来显示到数据库自定函数的结果集中,比如的天气预报

标签: sql2005使用

本文链接地址:https://www.jiuchutong.com/biancheng/319407.html 转载请保留说明!

上一篇:基于SQL2005 SQL2008 表结构信息查询升级版的详解(含外键信息)(基于stm32的毕业设计)

下一篇:SQL2005CLR函数扩展 - 关于山寨索引(sqlldr 函数)

  • 未交增值税借贷方负数表示
  • 关税的计算公式是什么
  • 外地工程款没有预缴会怎么样
  • 进项税额转出冲红
  • 独立核算自负盈亏和统负盈亏怎么选
  • 分期收款销售商品
  • 企业的日常经营活动主要包括哪三个经营过程
  • 商业企业购入商品会计分录
  • 上月未计提税金,下月怎么做分录
  • 进口代理费取费标准
  • 增值税发票退票时间
  • 过路费抵扣税率是多少
  • 租赁合同印花税计税依据
  • 年末如何计提企税分录
  • 已经缴纳税款怎么作废申报
  • 最新科研增值税税率为多少?
  • 税收编码选错了,发票已经开出去几个月了,还有影响吗
  • 单张发票不超过1万
  • 外贸企业代理出口销售业务发生的费用
  • 货物退回发票冲红会计分录
  • 开业庆典礼仪费计入什么科目?
  • 个人所得税0元算不算缴税
  • 企业的税收筹划
  • 增值税账面和实际缴纳不平,怎样调整
  • 上个月多计提的工资怎么调整
  • 应税消费品对外出售
  • paddle!
  • 结转出租包装物报废的残料价值计入
  • mcshield.exe是什么进程
  • 冷门暴利行业
  • 德纳里山
  • php 生成opcode
  • 挂靠借用资质账务处理?
  • 经营特许权
  • 小规模企业现金怎样管理
  • php pdo类
  • 购车的进项税怎么抵扣
  • c++ array
  • Diffusion models代码实战:从零搭建自己的扩散模型
  • 利润分配的顺序依次是什么
  • 期末结转会计分录模板
  • 异地提供建筑服务预缴
  • 软件增值税即征即退文件
  • 营改增后自建厂房抵扣
  • 计提应收账款坏账准备属于谨慎性吗
  • 什么时候库存商品在贷方
  • 房产税如何申请减免
  • 金税盘技术服务费怎么交费
  • 赠送商品入什么科目
  • 差旅费所得税扣除标准2023
  • 工商年报和税务年报有什么区别
  • 投资性房地产租金税率是多少
  • 收到垫付款计入什么科目
  • 应交税费减免税额在借方还是贷方
  • 施工图审查费属于什么费
  • 工厂没给工人买社保我们应该找哪个部门
  • 子公司如何向母公司开户
  • 集团对子公司的管理办法
  • 企业商品销售收入确认条件
  • 房地产开发企业建造的商品房,在出售前
  • mysql5.7.21安装教程
  • Win Server 2003 使用技巧图解
  • solaris 11.4
  • xp开始菜单没反应
  • centos分区命令
  • windows7如何开启游戏模式
  • Win10 Mobile Build 10586.29更新内容大全:修复多项问题
  • 学习的引子
  • 高通ar芯片
  • cocos2dx吸蓝效果实现opengl绘制
  • ajax成功不走success
  • 计算机中丢失opencv_core249.dll
  • js代码运行机制
  • python介绍的主要内容
  • python中导入语句
  • flappy bird攻略
  • 花都狮岭到广州白云站怎么坐车
  • 房产税自用改为出租,房产税如何申报
  • 税务变更表
  • 美国税务人员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设