sql server集群,负载均衡,高可用有成熟方案吗

hansx1981 2017-11-17 09:33:21
sql server集群,负载均衡,高可用有成熟方案?找了好长时间没有找到,有了解的吗
...全文
4459 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crazy2man 2019-08-14
  • 打赏
  • 举报
回复
为啥非得用sql server
每顿2块4 2019-08-13
  • 打赏
  • 举报
回复 1
为什么不换种思路,目前有成熟的第三方解决方案呀,可以参考我的测试记录:https://mp.weixin.qq.com/s/0JP1GbG9obohiATcGqPTMQ
半世笙箫 2018-06-07
  • 打赏
  • 举报
回复
引用
【日志传送】 原理是利用作业定时备份还原(所以为数据库级别),可将备份的日志还原到任意多个副本(可本地或异地),副本一般不作为可读。延迟性主要是备份还原的频繁度,因为数据库日志备份间隔都不会设置的很频繁。 主要应用场景是:有意让副本延迟,以防主库误操作丢失数据时,副本可很快恢复到一段时间前的状态。可当做冗余的备库。 缺点:副本延迟最大;副本不可用占用资源;主副本损坏不会自动切换,且所有副本都得重新配置(因为日志还原的事务序列不一样)。 【事务复制】 复制有多种,主要讲事务复制。事务复制是数据库中对象级别的同步,原理是读取事务日志,找出某个数据库某对象的事务日志,生产命令同步到中间库(分发服务器数据库),通过分发可将数据同步到任意多个副本(可本地或异地)。同步操作主要为存储过程的操作。 主要应用场景是: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)搭建
关于ALWAYSON AG,怎么说呢,主要是为了高可用。楼主如果是为了高可用,推荐用ALWAYSON AG。 但是ALWAYSON AG也有缺点。 1.考虑同步模式和异步模式分别带来的影响,同步模式更注重高可用,但是影响数据库性能;异步模式更注重性能,但是在故障转移中可能会造成数据丢失。 2.要实现负载均衡,需要配置只读路由,修改连接字符串。且在一主多从的情况下,他没法动态分配。ALWAYSON 数据库级别的同步指的是事务日志的同步,可不是数据的同步,这期间日志传送,redo等都可能造成从库数据的延迟。所以想用ALWAYSON来解决负载均衡,还是要考虑业务能不能接受数据延迟,能接受多久的数据延迟。 但是,还是要说,alwayson在高可用方面,的确是革命性的功能了
ChinaITOldMan 2018-01-04
  • 打赏
  • 举报
回复
Good post, learning
薛定谔的DBA 2017-12-18
  • 打赏
  • 举报
回复
【日志传送】 原理是利用作业定时备份还原(所以为数据库级别),可将备份的日志还原到任意多个副本(可本地或异地),副本一般不作为可读。延迟性主要是备份还原的频繁度,因为数据库日志备份间隔都不会设置的很频繁。 主要应用场景是:有意让副本延迟,以防主库误操作丢失数据时,副本可很快恢复到一段时间前的状态。可当做冗余的备库。 缺点:副本延迟最大;副本不可用占用资源;主副本损坏不会自动切换,且所有副本都得重新配置(因为日志还原的事务序列不一样)。 【事务复制】 复制有多种,主要讲事务复制。事务复制是数据库中对象级别的同步,原理是读取事务日志,找出某个数据库某对象的事务日志,生产命令同步到中间库(分发服务器数据库),通过分发可将数据同步到任意多个副本(可本地或异地)。同步操作主要为存储过程的操作。 主要应用场景是: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)
nettman 2017-12-18
  • 打赏
  • 举报
回复
关注
dbtwin 2017-12-17
  • 打赏
  • 举报
回复
引用 楼主 hansx1981 的回复:
sql server集群,负载均衡,高可用有成熟方案?找了好长时间没有找到,有了解的吗
我们专门做SQL SERVER集群,有成熟完善的商业方案。 http://www.itpub.net/thread-2095583-1-1.html http://www.itpub.net/thread-2092220-1-1.html
OwenZeng_DBA 2017-11-17
  • 打赏
  • 举报
回复
看你的具体情况了,你的数据库是什么版本,如果2012之前只能选择商业的。2012及以后可以考虑Always On.不过Always On 只能只能从2016起开始提供只读副本直接的负载均衡。另外,你为什么要做这样的方案,是数据库遇到什么问题了吗?如果只是慢的问题,可以先从优化入手去入手。
删库到跑路 2017-11-17
  • 打赏
  • 举报
回复
sql2012以上用always on 傻瓜式操作,简单方便 可以满足你大部分需求
二月十六 2017-11-17
  • 打赏
  • 举报
回复
sql2012可以看看alwayson
wwfxgm 2017-11-17
  • 打赏
  • 举报
回复
我也很想知道,这个always on 。2016版本的。有没有中文教程?
OwenZeng_DBA 2017-11-17
  • 打赏
  • 举报
回复
这种异地的方案比较复杂投入也比较大。更容易实现的方式是,两边的应用都访问你本地的数据库。当本地的数据库出现问题的时候可以切换到异地去。这时候需要前端应用程序配合指向异地的数据。这样的方式是比较合理,也更好实现。
hansx1981 2017-11-17
  • 打赏
  • 举报
回复
引用 4 楼 z10843087 的回复:
看你的具体情况了,你的数据库是什么版本,如果2012之前只能选择商业的。2012及以后可以考虑Always On.不过Always On 只能只能从2016起开始提供只读副本直接的负载均衡。另外,你为什么要做这样的方案,是数据库遇到什么问题了吗?如果只是慢的问题,可以先从优化入手去入手。
现在数据库是2008 r2,现在情况是一主一备(发布订阅),只起到了备份的作用 打算异地扩容(网络问题可视为局域网) 想实现两地都有数据库,正常时,各地访问自己的数据库,本地数据库宕机后自动切换到另一个,有没有商业的方案,望推荐

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧