1. 实现原理:读写分离简单的说是把对数据库读和写的操做分开对应不一样的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操做,从数据库提供读操做,其实在不少系统中,主要是读的操做。当主数据库进行写操做时,数据要同步到从的数据库,这样才能有效保证数据库完整性。html
2. 实现方法:在MS Sql server中能够使用发布定义的方式实现数据库复制,实现读写分离,复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户能够将一份数据发布到多台服务器上。复制技术能够确保分布在不一样地点的数据自动同步更新,从而保证数据的一致性。SQL SERVER复制技术类型有三种,分别是:快照复制、事务复制、合并复制。SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的全部改变状况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的全部改变,并保存这些改变,再把这些改变分发给订阅服务器。数据库
3. 优缺点服务器
(1)数据的实时性差:数据不是实时同步到自读服务器上的,当数据写入主服务器后,要在下次同步后才能查询到。负载均衡
(2)数据量大时同步效率差:单表数据量过大时插入和更新因索引,磁盘IO等问题,性能会变的不好。性能
(3)同时链接多个(至少两个)数据库:至少要链接到两个数据数据库,实际的读写操做是在程序代码中完成的,容易引发混乱server
(4)读具备高性能高可靠性和可伸缩:只读服务器,由于没有写操做,会大大减轻磁盘IO等性能问题,大大提升效率;只读服务器能够采用负载均衡,主数据库发布到多个只读服务器上实现读操做的可伸缩性。htm
原文:http://tech.it168.com/a2012/0110/1300/000001300144_1.shtmlblog