Sql server Always On 读写分离配置方法
在一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力。很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡。遗憾的是,SQL Server 的所有版本,包括2012年3月发布的SQL Server 2012,也未提供该功能。
扩展单台SQL Server 服务器,解决性能瓶颈,有两种方法:
一、分布式数据库。扩展和分布数据库到多台服务器,由多台服务器分布存储不同的数据,通过将数据和访问压力分布到多台服务器来解决性能瓶颈。以一个大型电子商务网站数据库为例,可以按照业务模块或功能模块,将数据分布到多台服务器存储。这种方法对程序改造难度较大,设计起来较为复杂,本文不作介绍。
二、读写分离。读写分离是中型规模应用的数据库系统常见设计方案,通过将数据从主服务器同步到其他SQL Server 服务器,提供非实时的查询功能,扩展性能并提高并发性。
数据库的读写分离的好处如下:
1.通过将“读”操作和“写”操作分离到不同的数据库服务器上,降低对主服务器的CPU、内存、存储、网络资源的争用;
2.主服务器的增删改进行时,不影响查询服务器的查询,降低阻塞的发生,提高了并发性;
3.在应用程序提交了报表请求、不合理的查询请求时,不会导致长时间的锁表;
4.建立容灾副本甚至实现异地容灾,在发生灾难时,可以减少数据的损失;
绝大部分的企业内部应用,可能不需要上图那么庞大的架构,一台主数据库服务器和一台查询服务器通常能满足读写分离的要求。而且应用程序调整起来非常方便:
1.在应用程序的配置文件中设置两个数据库连接字符串,一个指向主服务器,一个指向查询服务器;
2.增删改或者实时性查询使用指向主服务器的连接字符串;
3.允许非实时的查询及报表请求使用指向查询服务器的连接字符串。
那么主数据库服务器的数据如何同步到查询服务器上?同步的间隔又是怎样的?主服务器发生故障的时候,查询服务器能否接管用户的请求呢?有什么技术要求呢?
SQL Server 提供了三种技术,可以用于读写分离的实现:日志传送、事务复制和SQL 2012 中新增的功能Always On 技术。这三种技术的比较如下:
SQL Server 日志传送示意图
SQL Server 复制示意图
SQL Server Always On 示意图
相关文章
- 在虚拟机安装 Linux Server (ubuntu-14.04-server)
- SQL Server User Mapping Error 15023
- SQL Server - Management Studio - Client Statistics - Wait time on server replies vs Client processing time
- Installing IIS 8 on Windows Server 2012微软官方安装指导
- English trip V1 - B 21. On a busy day 忙碌的一天 Teacher:Taylor Key: at on in
- react 项目实战(二)创建 用户添加 页面 及 fetch请求 json-server db.json -w -p 8000
- 误删Server后Tomcat服务器报错The Tomcat server configuration at ServersTomcat v8.5 Server at
- sql server 导出表结构
- SQL server CLR命令执行
- Sql Server-查询一列的数据进行拼接
- 基于C#+SQL Server开发(WinForm)租房管理系统【100010192】
- 【服务器】Web server failed to start. Port 80 or configure this application to listen on another port.
- 问题解决:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
- sql server 小技巧(3) SQL Server 2012 数据库完整导出到SQL Azure (包括数据)
- SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率
- sql server case when then
- 面对即将终止支持的server你还能做些什么
- 把.apk传到站点server下载
- 最小配置启动SQL SERVER,更改SQL Server最大内存大小导致不能启动的解决方法
- 【sql server复制】教你使用SQL SERVER复制
- SQL Server中的between(在某个范围)
- 利用NSA的MS17-010漏洞利用工具实现Win 7和Win Server 2008系统入侵