行业新闻 :

“读写分离”的价值与应用
     

   在一些大型的网站或者应用中,单台的SQL Server 服务器难以支撑非常大的访问压力。东莞天心软件小编认为读写分离作为一种数据库系统常见设计方案可以有效解决这个难题。



读写分离是中型规模应用的数据库系统常见设计方案,通过将数据从主服务器同步到其他SQL Server 服务器,提供非实时的查询功能,扩展性能并提高并发性。
 
数据库的读写分离的优点如下

1、通过将“读”和“写”分离到不同的数据库服务器上,降低对主服务器的CPU、内存、存储、网络资源的争用

2、主数据库的增删改进行时,不影响查询服务器的查询,降低阻塞的发生,提高了并发性

3、在应用程序提交了报表请求、不合理的查询请求时,不会导致长时间的锁表

4、建立数据副本甚至实现异地容灾,在发生灾难时,可以减少数据的损失
 
作业系统的基本要求配置

名称要求
WINDOWSWindows Server 2016 中文版
SQL版本SQL Server Enterprise 2017 中文版
Microsoft SQL Server Management Studio适用于SQL Server Enterprise 2017 中文版


硬件基本配置要求

名称要求
服务器配置相同,2台或以上
硬盘固态硬盘
阵列RAID5

 备注:硬件具体规格要求按使用场景来调整

应用场景案例说明
1、100+以上门店7x24小时使用ONLINE,SUNLIKE及第三方软件系统,共4台WEB应用服务器.数据库约2TB,SQL自动计划(每天0时)自动备份
2、由于客户端300个用户不断对WEB应用服务器访问量,造成其他应用的延迟或者超时,经常出现“宕机”,系统无法访问等现象
3、单表数据量过大导致数据库执行sql慢,请求过多形成锁表,卡顿
4、 形成数据丢失问题,同时ERP系统管理员对业务系统,数据迁移等环节增加维护成本
 
业务示意图

业务示意图
              
场景案例需求
1.  业务系统停机时间在30分钟内
2.  数据不能丢失

解决方案 
如上述问题,利用SQL Server的AlwaysOn将WEB应用服务数据库自动同步到备份数据库服务器。
业务系统通过后台将报表查询设置到备份服务器,即可将数据‘写入’与‘读取’权限分开,当数据库“读”大于“写”,或查询多的情况,就可以考虑主数据负责写操作,从副数据库负责读操作,从而把数据达到读写分离效果,可以减少数据库运维的难度,降低出现故障率。
由于主数据库(‘写’权限),副数据库(‘读取’权限)虽处于不同服务器,数据却均实时同步,任何一方以由WEB应用服务器调用,可避免数据延迟,丢失,提升数据库的并发负载能力, 实现备份的同时也实现了数据库性能的优化,同时提升了服务器安全,减轻维护成本。

读写分离流程图

以上内容由东莞天心软件整理发布!