【日志传送】 原理是利用作业定时备份还原(所以为数据库级别),可将备份的日志还原到任意多个副本(可本地或异地),副本一般不作为可读。延迟性主要是备份还原的频繁度,因为数据库日志备份间隔都不会设置的很频繁。 主要应用场景是:有意让副本延迟,以防主库误操作丢失数据时,副本可很快恢复到一段时间前的状态。可当做冗余的备库。 缺点:副本延迟最大;副本不可用占用资源;主副本损坏不会自动切换,且所有副本都得重新配置(因为日志还原的事务序列不一样)。 【事务复制】 复制有多种,主要讲事务复制。事务复制是数据库中对象级别的同步,原理是读取事务日志,找出某个数据库某对象的事务日志,生产命令同步到中间库(分发服务器数据库),通过分发可将数据同步到任意多个副本(可本地或异地)。同步操作主要为存储过程的操作。 主要应用场景是:2012 以前,主要使用的高可用之一,副本的索引可以重新定义。主要用于报表服务器查询、开发人员有时需要的数据查询、也可作为一主多从的读写分离。事务复制应用很灵活。 缺点:表必须有主键;对象粒度小,管理麻烦;事务是顺序处理的,网络IO依赖较大;发布有问题,则都需要重新配置; 【镜像】 在数据库级别上产生一个镜像副本。原理是读取事务日志,将日志块实时同步(或同步或异步)到镜像库中。可在域环境或非域环境配置。 主要应用场景是:对当前数据库的一个冗余副本,副本可自动切换。如当前数据库损坏,副本可恢复使用。 缺点:只能镜像一个副本;副本不可读; 【alwayson 故障转移集群实例(FCI)】 在多台windows 服务器集群的基础上,创建sql server 故障转移集群,但 mssql 集群共享同一个存储,即数据库文件是放在共享存储上的,集群上的数据库实例都是访问同一个共享存储上的数据文件。alwayson FCI 是实例级别的。 主要应用场景是:为了防止单台服务器宕机情况,或是为了减轻单台服务器资源消耗。有虚拟IP,可自动切换到各个实例。 缺点:依赖windows域环境和windows集群;数据存储单节点,IO还是没有减少;集群实例资源没有有效利用(当然可创建A-A群集,一服务器多个实例) 【alwayson 可用性组(AG)】 2012的新功能,是sql server 的一种革命性功能。相当于结合了复制和镜像的特性,为数据库级别同步。数据库在windows群集上的服务器是独立安装的,数据存储在各个服务器上。 原理是读取主副本事务日志,将日志分别同步到各个服务本。有侦听器(虚拟IP / 名称),可切换到任意一个副本,副本同样保存同步。 主要应用场景是:满足镜像和复制的场景。 缺点:依赖windows域环境和windows集群;维护主要在主副本(备份可在其他副本) 2016 后,AlwaysOn AG 可不依赖于域环境,但仍依赖于windows 集群 2017后,AlwaysOn AG 可不依赖于域环境,也可不依赖与windows集群,即可进行跨平台(linux)搭建
sql server集群,负载均衡,高可用有成熟方案?找了好长时间没有找到,有了解的吗
看你的具体情况了,你的数据库是什么版本,如果2012之前只能选择商业的。2012及以后可以考虑Always On.不过Always On 只能只能从2016起开始提供只读副本直接的负载均衡。另外,你为什么要做这样的方案,是数据库遇到什么问题了吗?如果只是慢的问题,可以先从优化入手去入手。
6,129
社区成员
4,460
社区内容
加载中
试试用AI创作助手写篇文章吧