SQL Server读写分离实现方案简介

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

数据库的读写分离的好处如下:

  1. 通过将“读”操作和“写”操作分离到不同的数据库服务器上,降低对主服务器的CPU、内存、存储、网络资源的争用;
  2. 主服务器的增删改进行时,不影响查询服务器的查询,降低阻塞的发生,提高了并发性;
  3. 建立容灾副本甚至实现异地容灾,在发生灾难时,可以减少数据的损失。

为了实现数据库读写分离,应用程序需要作如下调整:

  1. 在应用程序的配置文件中设置两个数据库连接字符串,一个指向主服务器,一个指向查询服务器;
  2. 增删改或者实时性查询使用指向主服务器的连接字符串;
  3. 允许非实时的查询及报表请求使用指向查询服务器的连接字符串。

SQL Server提供了三种技术,可以用于读写分离的实现:日志传送、事务复制和SQL Server 2012中新增的功能Always On技术。这三种技术的比较如下:

时间: 2024-10-18 14:29:48

SQL Server读写分离实现方案简介的相关文章

SQL Server读写分离之发布订阅

一.发布 上面有多种发布方式,这里我选择事物发布,具体区别请自行百度. 点击下一步.然后继续选择需要发布的对象.  如果需要筛选发布的数据点击添加. 根据自己的计划选择发布的时间. 点击安全设置,设置代理信息. 最后单击完成系统会自动创建发布. 如出现上述警告,则需要在计算机的服务中打开 SQL Server 代理 (MSSQLSERVER)  . 最后在本地发布中查看.如下图说明发布成功. 二.订阅 连接之后可以查看刚才的发布,然后选择这个发布进行订阅. 上面有两种订阅方式,区别已经很明显了.

SQL的读写分离与负载均衡问题设想。

首先,我们可以了解一下,SQL的读写分离的工作方式,如下图所示: 总得来说,三种方案,现阶段来说,都是单节点写,多节点读.SQL 2012 的Always On还实现了读负载均衡,但方案投入相对来说较大. 所以用得最多的应还是第二种方案,表级同步,数据差异几秒.但有个问题,当只读的节点多了时,要如何实现负载均衡? 真正的负载均衡,需要计算的东西太多,要计算连接线程数,要计算CPU使用率等,而这一切都需要你在程序中体现.实现难度相对来说会好大! 除非你用第三方服务软件来实现,SQL现阶段来说,这样

SQL Server复制入门(一)----复制简介【转】

SQL Server复制入门(一)----复制简介 简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性.使用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨.(PS:在我的上篇文章中我发现某些文章的图片使用mspaint手绘更有感觉,但被很多人吐槽

SQL Server复制入门(一)----复制简介

简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护数据一致性.使 用复制功能不仅仅需要你对业务的熟悉,还需要对复制功能的整体有一个全面的了解,本系列文章旨在对SQL Server中的复制进行一个简单全面的探讨.(PS:在我的上篇文章中我发现某些文章的图片使用mspaint手绘更有感觉,但被很多人吐槽,因此在不 考虑个人羞耻感的前提下,本系列文章中的

SQL Server 数据库分离与附加

一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中.比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法.但由于数据库管理系统的特殊

EF6.0新特性-DbCommandInterceptor实现非SQL端读写分离

前几天看了一个基于sqlserver的负载均衡与读写分离的软件Moebius,实现的方式还是不错的,这使得用sqlserver数据库的同学时有机会对数据库进行更有效的优化了 看着人有做的东西,自己也想用EF来实现一个读写分离,所以就有了本篇文章,仓储大叔读写分离的思路是: 1 用sqlserver自带的发布.订阅实现主,从数据库的结构,同步这事由sql帮我们完成 2 配置文件建立几个供只读的数据库连接串 3 建立SQL命令拦截器 4 修改大叔的DbContextRepository基数,添加拦截

大数据时代下的SQL Server第三方负载均衡方案----Moebius测试

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 架构原理(Architecture) 测试环境(Environment) 安装Moebius(Install) Moebius测试(Testing) 负载均衡测试(Load Balancing Testing) 高可用性测试(Failover Testing) 数据安全性测试(Security Testing) 总结(Summary) 二.背景(Contexts) 前几天在SQL Serve

277.SQL Server 2008的安装、简介和使用

1.安装 1.1安装SQL Server 2008的硬件和软件要求 为了正确安装和运行SQL Server 2008,计算机必须满足以下配置要求. (1)硬件处理器:需要 Pentium III 兼容处理器或更高速度的处理器,处理器速度不低于1 GHz,为了获得更好的运行效果,建议为2 GHz或以上.内存:512 MB以上,建议为2 GB 或更大.硬盘:1.7 GB的安装空间以及必要的数据预留空间. (2)软件① 操作系统要求(32位).SQL Server 2008只能运行在Windows操作

SQL Server性能计数器收集汇总方案(Reporting Service)

通过收集计数器信息,并将计数器信息汇总为不同粒度存储,以Reporting Service报表服务器显示.以下是计数器收集汇总的基本架构. 笔者需要收集的SQL Server计数器包括:SQL Server计数器属性详解 一.SQL Server计数器基本架构图 1. 生产服务器通过ODBC开发数据库互联ODBC配置访问监控监控服务器的SQLPerfData,将数据写入该数据库.详情请见计数器部署 SQL Server性能计数器部署(批量) 2. 通过作业调用存储过程spb_Perf_Count