写点什么

京东云数据库 RDS SQL Server 高可用概述

  • 2019-10-21
  • 本文字数:2106 字

    阅读完需:约 7 分钟

京东云数据库RDS SQL Server高可用概述

数据库的高可用是指在硬件、软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点。本文主要讲述 SQL Server 高可用方案,以及京东云 RDS 数据库的高可用实现。

一、高可用解决方案总览

1、故障转移集群

故障转移集群为整个 SQL Server 实例提供高可用性支持,这意味着在集群上某个节点的 SQL Server 实例发生了硬件错误、操作系统错误等会故障转移到该集群上的其它节点。通过多个服务器(节点)共享一个或多个磁盘来实现高可用性,故障转移集群在网络中出现的方式就像单台计算机一样,但是具有高可用特性。值得注意的是,由于故障转移集群是基于共享磁盘,因此会存在磁盘单点故障,因此需要在磁盘层面部署 SAN 复制等额外的保护措施。最常见的故障转移集群是双节点的故障转移集群,包括主主节点和主从节点。

2、事务日志传送

事务日志传送提供了数据库级别的高可用性保护。日志传送可用来维护相应生产数据库(称为“主数据库”)的一个或多个备用数据库(称为“辅助数据库”)。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。日志传送具有支持多个备用数据库的灵活性。如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。


事务日志传送可用于做冷备份和暖备份的方式。

3、数据库镜像

数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上。 通常,这些服务器实例驻留在不同位置的计算机上。 启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为“数据库镜像会话” 。


其中一个服务器实例使数据库服务于客户端(主体服务器)。 另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(镜像服务器)。 同步数据库镜像会话时,数据库镜像提供热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。 未同步会话时,镜像服务器通常用作热备用服务器(可能造成数据丢失)。


在“数据库镜像会话 ”中,主体服务器和镜像服务器作为“伙伴 ”进行通信和协作。 两个伙伴在会话中扮演互补的角色:“主体角色” 和“镜像角色” 。 在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。 每个伙伴拥有 其当前角色。 拥有主体角色的伙伴称为“主体服务器” ,其数据库副本为当前的主体数据库。 拥有镜像角色的伙伴称为“镜像服务器” ,其数据库副本为当前的镜像数据库。 如果数据库镜像部署在生产环境中,则主体数据库即为“生产数据库 ”。


数据库镜像会话以同步操作或异步操作运行。 在异步操作下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。 在同步操作下,事务将在伙伴双方处提交,但会延长事务滞后时间。


但是,SQL Server 镜像在 2012 以后的版本中被标记未过时,将有 AlwaysOn 取代。

4、复制

复制严格来说并不算是一个为高可用性设计的功能,但的确可以被应用于高可用性。复制提供了数据库对象级别的保护。复制使用的是发布-订阅模式,即由主服务器(称为发布服务器)向一个或多个辅助服务器或订阅服务器发布数据。复制可在这些服务器间提供实时的可用性和可伸缩性。它支持筛选,以便为订阅服务器提供数据子集,同时还支持分区更新。订阅服务器处于联机状态,并且可用于报表或其他功能,而无需进行查询恢复。SQL Server 提供四种复制类型:快照复制、事务复制、对等复制以及合并复制。


AlwaysOn 可用性组


AlwaysOn 可用性组是 SQL Server 2012 推出的新功能。同样提供了数据库级别的保护。它取数据库镜像和故障转移集群之长,使得业务上有关联的数据库作为一个可用性组共同故障转移,该功能还拓展了数据库镜像只能 1 对 1 的限制,使得 1 个主副本可以对应最多 4 个辅助副本(在 SQL Server 2014 中,该限制被拓展到 8 个),其中 2 个辅助副本可以被作为热备份和主副本实时同步,而另外两个异步辅助副本可以作为暖备份。此外,辅助副本还可以被配置为只读,并可用于承担备份的负载。


正因为如此,数据库镜像在 SQL Server 2012 中被标记为“过时”。

二、京东云 RDS 高可用实现

1、实现原理

京东云 SQL Server 在确保同样的功能和性能的前提下,以合理的预算,帮助您大量地屏蔽底层的技术细节,从而极大低降低管理复杂度。


毫无疑问,你可以选择自己搭建一套同城热备的高可用数据库,操心:租机柜、买服务器、配置服务器、配置存储、安装操作系统、安装并配置数据库、配置异地通信。无论从管理上还是周期上考虑,都很头疼。虽然你也可以选择把这一切都事先准备好,但是这意味着浪费。而云数据库:默认跨机架的热备高可用配置,数十秒建立完毕,可选跨机房配置;自动故障转移,一键主备切换,同时 IP 自动漂移。


京东云高可用基于 SQL Server 镜像原理,默认一主一备,可选跨机房部署,故障迁移极速完成,IP 自动捆绑飘逸,主备切换一键完成,详细原理图如下:



硬件层面的高可用: 高性能 SSD 盘,磁盘损坏问题无需用户操心;服务器硬件方面,京东云方负责监控与维护。

2、便捷操作

数十秒生成高可用实例:



一键主动主备切换:



2019-10-21 18:35777

评论

发布
暂无评论
发现更多内容

openresty源码编译

上海派拉基础研发

nginx openresty

有了这个框架,平台开发谁还手敲代码?

华为云开发者联盟

华为云 智慧园区 MainPortal 统一门户 HDC2021

提升漏洞修复率,DevSecOps真的很有一套

华为云开发者联盟

软件 安全 DevSecOps 漏洞修复 软件漏洞

白金熊项目奖金制度玩法介绍

飞亚科技

Nginx 除了负载均衡,还能干点啥

Java小咖秀

nginx 负载均衡

面试笔记(二)线程池连环炮

U+2647

Thread 4月日更

7 个非常实用的 Shell 拿来就用脚本实例!

JackTian

Linux 编程 Shell 脚本语言 运维工程师

BBK智能合约系统开发|BBK智能合约APP软件开发

系统开发

牛比特小矿工系统开发|牛比特小矿工软件APP开发

系统开发

拍乐云 x 扬帆出海 x LiveCloud:音视频出海专家干货分享

拍乐云Pano

flutter ios android WebRTC RTC

区块链让版权与创作如影随形 应用深度逐渐加强

CECBC

产权保护

区块链商品溯源平台搭建及防伪溯源解决方案

13828808769

商品溯源

平面设计之PS(前序)

空城机

PhotoShop ps 4月日更

人生苦短,我用Python之小游戏

Bob

开发者 Python 游戏编程 4月日更 -python

nsqlookupd:高性能消息中间件 NSQ 解析

华为云开发者联盟

集群 消息中间件 nsq nsqlookupd

Crash 游戏是公平的吗?

飞亚科技

书单|互联网企业面试案头书之运营篇

博文视点Broadview

这6个浏览器插件,让你的浏览器大为不同。

彭宏豪95

chrome 浏览器 插件 chrome扩展 4月日更

Rust从0到1-结构体-定义和实例化

rust struct 结构体

情指勤一体化指挥调度平台建设,重点人员管理平台

架构实战营模块一作业

sandy

【LeetCode】搜索旋转排序数组 IIJava题解

Albert

算法 LeetCode 4月日更

MUSO挖矿系统开发

飞亚科技

区块链系统的层级架构如何及在供应链中的应用

CECBC

区块链

对于数据,科技小白提出了灵魂三问:从哪儿来?到哪儿去?能干什么?

华为云开发者联盟

人工智能 安全 数据 数据采集 网络人工智能

模块一课后作业

王瑞强

架构实战营

让云原生应用的交付变得更简单 | KubeVela v1.0 正式发布

郭旭东

Kubernetes 云原生 OAM KubeVela

小白都能学会的Java注解与反射机制

陈皮的JavaLib

Java 注解 java反射

区块链BaaS平台的搭建,底层BaaS服务平台的开发

13828808769

行业资讯 产品资讯

1小时800箱,动力机器人真·搬砖16小时不续航;苹果官宣 WWDC 全球开发者大会召开时间;基于图神经网络的分级相关性匹配

京东科技开发者

人工智能 AI 开发者

猪肉价格跌至去年最低水平 区块链养猪成热点

CECBC

农业

京东云数据库RDS SQL Server高可用概述_架构_于振江_InfoQ精选文章