浅析SQLSERVER负载技术

  由于mssql不像oracle那样幸福,官方就做好了RAC方案,  所以同僚们碰到了应用瓶颈,也只能八仙过海各显神通了.就我了解的资料看,MSSQL目前的负载方案有如下三种.

  1.做主从机,主机主要负责写入操作,并同步到从机上(保证数据的一致性),从机主要负责分担数据的读取压力. 

分析:此方案只能解决那种多读少写的需求,如果写操作相当频繁.显然主机是无法完成任务.

  2.多节点同步数据--即群集中任意一个节点数据发生变化,立刻同步到其它节点(利用SQLSERVER自带的数据同步功能,或采用第三方的数据同步软件),前端架设调度器,将来源平均分配到各个节点上以达到负载的目的.

分析:此方案可以说是满足了大部分人的需求了,但如果每次都写入海量的数据,那么数据同步的时间有待考虑.其同步方式也有待考虑..

 数据同步方式
    同步数据复制:用户提交的所有数据都必须在群集中的所有节点都同步完成的情况下才能通知客户端数据写成功了,这种方式可以做的群集中每个节点中的数据完全同步,数据安全性效高.但写入海量数据时,同步数据的时间太长可能会造成很多危害.

    异步数据复制:客户端所提交的所有数据由某一节点确认写成功后,直接通知客户端数据写成功了,同时将数据同步到群集中的其它节点。使用这种同步方式,用户可以得到效高的访问速度,但是群集中的数据库在某一时刻存在着数据差异,尤其是对于电子商务类的网站,有潜在的危险.

  3.将数据库按业务拆分,然后做成链式服务器群.(例如一个电子商务类的站点,将用户资料放在A服务器上,交易动作记录放在B服务器上,财务报表放于C服务器上,ABC服务器的数据可以相互调用),典型的高可用性方案.

分析:此方案可扩展性非常强.但维护成本极高,如果业务拆分得不合理,很有可能影响程序新功能的开发.但我个人较为推从此种方案.找专业的DBA进行维护,只是人力成本比较高,一般能有这样需求的公司都不差钱...

 

  下面看一下ORACLE RAC方案的图

    其实该方案就是一个SAN节构,多台服务器共用一个磁盘柜.

    我一直有个大胆的想法,就是将MSSQL做成Oracle RAC的这种SAN节构.因为WINDOWS系统是不支持同时写入的操作的,我也一直没有做过这个尝试,但oracle RAC有FOR Windows版本的.不知他是如何实现的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值