SqlServer 数据库读写分离【转】

摘要:
当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。SQLSERVER复制技术类型有三种,分别是:快照复制、事务复制、合并复制。SQLSERVER主要采用出版物、订阅的方式来处理复制。

1. 实现原理:读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。

SqlServer 数据库读写分离【转】第1张

SqlServer 数据库读写分离【转】第2张

2. 实现方法:在MS Sql server中可以使用发布定义的方式实现数据库复制,实现读写分离,复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。SQL SERVER复制技术类型有三种,分别是:快照复制、事务复制、合并复制。SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器。

3. 优缺点

(1)数据的实时性差:数据不是实时同步到自读服务器上的,当数据写入主服务器后,要在下次同步后才能查询到。

(2)数据量大时同步效率差:单表数据量过大时插入和更新因索引,磁盘IO等问题,性能会变的很差。

(3)同时连接多个(至少两个)数据库:至少要连接到两个数据数据库,实际的读写操作是在程序代码中完成的,容易引起混乱

(4)读具有高性能高可靠性和可伸缩:只读服务器,因为没有写操作,会大大减轻磁盘IO等性能问题,大大提高效率;只读服务器可以采用负载均衡,主数据库发布到多个只读服务器上实现读操作的可伸缩性。

原文:http://tech.it168.com/a2012/0110/1300/000001300144_1.shtml

免责声明:文章转载自《SqlServer 数据库读写分离【转】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇快速集成华为AGC云存储服务-Androidnm命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue prop不同数据类型(数组,对象......)设置默认值

refAge: {type: Number,default: 0},refName: {type: String,default: ''},hotDataLoading: {type: Boolean,default: false},hotData: {type: Array,default: () => {return []}},getParams...

高并发秒杀解决方案(转载)

原文链接:http://blog.csdn.net/caomiao2006/article/details/38568825 今天王总又给我们上了一课,其实mysql处理高并发,防止库存超卖的问题,在去年的时候,王总已经提过;但是很可惜,即使当时大家都听懂了,但是在现实开发中,还是没这方面的意识。今天就我的一些理解,整理一下这个问题,并希望以后这样的课程能...

安装数据库出现不是有效文件夹的解决办法

今天安装数据库时遇到了自己选取的文件夹并不是有效文件夹的问题,大致错误如下 找了一下网上的解决办法,具体如下,成功解决问题。 解决办法:找到安装文件所在的文件夹,然后点击里面的“Setup.exe”进行安装,便可以安装了。 比如,Sql server 2008数据库ISO文件或者是其格式的文件在d盘下的sql文件夹;那么在选择的时候选择这个 d://sq...

转: mysql create view 创建视图

以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图—create view与修改MySQL视图——alter view等相关内容的具体描述,以下就是文章的具体内容介绍。 一. 视图概述 MySQL视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数...

mssql语句精华指令

常用sql语句 1. 查看数据库的版本 select @@version 2. 查看数据库所在机器操作系统参数 exec master..xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master..syspr...

ceph分布式存储简介

一、Ceph简介: 什么是分布式存储? 我在一个环境当中,有很多很多的服务器,服务器上也有它自己很多的硬盘,我通过软件的形式把若干服务器都收集起来,部署成一个软件,在这个逻辑的软件里可以同时看到我若干服务器的磁盘的空间,这个逻辑的软件对外就像是一个整体一样,这个整体叫storage spool,用户呢有一天想用这个空间了,用户直接去对应这个存储池提供的接口...