当前位置: 首页 > 数据应用 > SqlServer

SQL Server 2019 如何实现高可用性和读取缩放的集群方案

时间:2023-06-28 16:32:59 SqlServer

SQL Server 2019 如何实现高可用性和读取缩放的集群方案

SQL Server 2019 是微软公司推出的一款数据库管理软件,它可以为用户提供一个完整和可靠的数据平台,支持从边缘到云的多种部署选项。SQL Server 2019 不仅具有行业领先的性能和安全性,还引入了两种不同的体系结构,用于实现数据库集群的高可用性(HA)和读取缩放。这两种体系结构分别是:

1.AlwaysOn 可用性组(AG),它提供了高可用性、灾难恢复和读取缩放均衡,需要群集管理器来监控和协调故障转移。

2.读取缩放可用性组(RSAG),它为只读工作负荷提供副本,但不提供高可用性,不需要群集管理器。

本文将介绍这两种体系结构的概念、优势和配置方法,帮助你选择适合你的场景的集群方案。

AlwaysOn 可用性组

AlwaysOn 可用性组是 SQL Server 2012 开始引入的一种 HA 和读取缩放解决方案。它基于数据库镜像技术,但提供了更多的功能和灵活性。一个可用性组支持一组主数据库以及一至八组对应的辅助数据库。这些数据库可以跨越多个 SQL Server 实例,甚至跨越不同的数据中心或云平台。

主数据库是可读写的,负责处理客户端连接和事务。主数据库将每个主数据库的事务日志记录发送到每个辅助数据库。辅助数据库是只读的,可以用于备份、报告或查询。辅助数据库缓存事务日志记录(\\\"硬化\\\" 日志),然后将它们应用到相应的辅助数据库。这个过程称为数据同步,它在数据库级别运行。

每个主数据库或辅助数据库都由一个可用性副本承载。可用性副本是一个 SQL Server 实例上的一个角色,它定义了数据同步模式、故障转移模式、连接模式等属性。有两种类型的可用性副本:一个主副本和一到八个辅助副本。主副本承载主数据库,负责发送日志记录到辅助副本。辅助副本承载辅助数据库,负责接收日志记录并应用到辅助数据库。

可用性副本可以配置为同步提交模式或异步提交模式。同步提交模式意味着主副本在提交事务之前,必须等待至少一个辅助副本确认已经接收并硬化日志记录。这样可以保证数据的一致性,但会增加事务的延迟。异步提交模式意味着主副本在提交事务之后,不需要等待辅助副本的确认。这样可以提高事务的性能,但会导致数据的不一致性。

可用性副本还可以配置为自动故障转移模式或手动故障转移模式。自动故障转移模式意味着当主副本发生故障时,群集管理器会自动选择一个辅助副本作为新的主副本,并将客户端连接重定向到新的主副本。这样可以最大限度地减少故障时间,但要求主副本和辅助副本之间使用同步提交模式。手动故障转移模式意味着当主副本发生故障时,需要人工干预,选择一个辅助副本作为新的主副本,并手动将客户端连接重定向到新的主副本。这样可以更灵活地控制故障转移的时机和目标,但要求人工监控和操作。

可用性副本还可以配置为允许所有连接模式或只读路由模式。允许所有连接模式意味着任何客户端都可以直接连接到任何可用性副本,无论是主副本还是辅助副本。这样可以方便地管理和测试可用性组,但要求客户端指定正确的连接字符串和应用程序逻辑。只读路由模式意味着只有读写连接才能直接连接到主副本,而只读连接会被自动路由到一个辅助副本。这样可以实现读取缩放均衡,但要求配置只读路由列表和可用性组侦听器。