sql server几种读写分离方案对比

在生产环境中我们经常会遇到这种情况:

前端的oltp业务很繁忙,但是需要对这些运营数据进行olap,为了不影响前端正常业务,所以需要将数据库进行读写分离。


这里我将几种可以用来进行读写分离的方案总结一下,这里并不考虑数据库是否高可用,只针对读写分离场景,方案本身并无优劣可言,只看是否适合业务使用场景,所以只把几个方案的特点罗列出来,遇到具体的问题时按自己需求和环境综合考虑后再进行取舍

读写分离方案实时同步副本数据是否直接可读副本数最小粒度副本建立索引环境缺点
镜像否(需要开启快照,只读)1域/非域(使用证书)在高安全模式下对主库性能有一定影响
log shipping是(只读)NUNC方式可访问 副本库在做resotre时会断开已连接用户连接/可能影响常规日志备份
发布订阅是(读写,但写可能会产生数据不一致)N表(查询)域/非域在主库上有大量DML操作时,对分发服务器会有一定影响,且订阅数据库可能有数据同步延迟
always on是(只读)4(sql 2012)
8(sql 2014)
非域环境无法使用
原文更精彩:http://www.cnblogs.com/liwei225/p/4572111.html