数据库80%的操作是查,20%的操作是增删改。

因此可以由1个数据库进行增删改,多个数据库进行查询,并在增删查时同步它们之间的数据。

sqlserver中用发布订阅同步数据。

实操:

1.准备2个库,liuDB为主库,进行增删改操作,liuDBRead做查询,因此我们在liuDB中操作数据后,需要同步到liuDBRead中去。

SQL Server always on读写分离 sql数据库读写分离实现_数据库

 

 2.右键 ”复制”->配置分发

SQL Server always on读写分离 sql数据库读写分离实现_数据_02

 

 这里需要设置一个共享目录,一般都是在空闲的盘上新建一个文件夹,设置为共享。

SQL Server always on读写分离 sql数据库读写分离实现_数据库_03

 

然后不停的下一步就行了。

 3.本地发布->新建分发

选择要发布的数据库,这里是liuDB。

选择发布类型事务发布

SQL Server always on读写分离 sql数据库读写分离实现_数据_04

 

 一直下一步,基本没有什么问题,中途设置连接的方式用windows或sqlserver账号都可以。

 

4.本地订阅->新建订阅

这里 以推送订阅为例

SQL Server always on读写分离 sql数据库读写分离实现_数据库_05

选择liuDBRead数据库

SQL Server always on读写分离 sql数据库读写分离实现_sql_06

 

 继续下一步,中途设置连接的方式用windows或sqlserver账号都可以。

成功可以可以看见,新建的liuDBRead库中有了liuDB中的表,并且数据也同步了。

SQL Server always on读写分离 sql数据库读写分离实现_sql_07

 

 现在,如果在liuDB表的Product中增删改数据,在liuDBRead的Product表中就能马上同步了。

 

ps:发布订阅时,同步数据的操作是基于日志同步,而不是sql同步,所以消耗少,性能高。