浅析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版本的.不知他是如何实现的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |