在 Amazon 上以高可用性模式实现 Microsoft SQL 数据库服务现代化的注意事项

许多企业都有需要 Microsoft SQL Server 来运行关系数据库工作负载的应用程序:一些应用程序可能是专有软件,供应商可使用它强制 Microsoft SQL Server 运行数据库服务;其他应用程序可能是长期存在的、自主开发的应用程序,它们在最初开发时便已包含 Microsoft SQL Server。当企业将应用程序迁移到 Amazon 时,他们通常会先直接迁移,然后在 Amazon Elastic Compute Cloud(Amazon EC2)上运行 Microsoft SQL 数据库服务。之所以会这样,可能是因为他们最熟悉这种方式。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

 

在本博文中,我分享了在 Amazon EC2、 Amazon Relational Database Service(Amazon RDS)和 Amazon Aurora(Aurora)上实现 Microsoft SQL 数据库服务的现代化并运行高度可用的关系数据服务的架构选项。

在 Amazon EC2 上以高可用性模式运行 Microsoft SQL 数据库服务

此选项对现有运维模式的影响最小。它使您能够利用 Amazon Cloud 管理物理设施等服务,快速开始实现 Microsoft SQL 数据库服务的现代化。底层基础设施操作任务(例如,服务器机架、堆栈和维护)由 Amazon 管理。您具有对数据库和操作系统级别访问的完全控制权,因此,可以选择多种工具来管理操作系统、数据库软件、修补程序、数据复制、备份和恢复。

您可以将任何 Microsoft SQL Server 支持的复制方法与 Amazon EC2 上的 Microsoft SQL Server 数据库结合使用,实现高可用性、数据保护和灾难恢复。常见的解决方案包括日志传送、数据库镜像、Always On 可用性组和 Always On 失效转移集群实例。

在单个区域内实现高可用性

图 1 说明了如何在跨单个区域内的多个可用区(AZ,Availability Zone)的 Amazon EC2 上使用 Microsoft SQL Server。AZ 之间的互连与数据中心互通类似,并由 AWS 管理。主数据库是读写数据库,而辅助数据库配置了日志传送、数据库镜像或 Always On 可用性组以实现高可用性。来自主数据库的所有事务性数据都将传输,并且会异步应用于辅助数据库以进行日志传送;对于 Always On 可用性组和镜像,可以异步或同步应用该数据。

image.png

图 1.通过 Amazon EC2 上的 Microsoft SQL 数据库服务在单个区域内实现高可用性

跨多个区域实现高可用性

图 2 说明了如何在跨多个区域的 Amazon EC2 上为 Microsoft SQL Server 配置高可用性。来自主数据库的其他区域中的辅助 Microsoft SQL Server 配置了日志传送、数据库镜像或 Always On 可用性组以实现高可用性。来自主数据库的事务性数据通过完全托管的 AWS 主干网络跨区域传输。

image.png

图 2.通过 Amazon EC2 上的 Microsoft SQL 数据库服务跨多个区域实现高可用性

在 Amazon RDS 上以高可用性模式更换 Microsoft SQL 数据库服务的平台

Amazon RDS 是一项托管式数据库服务,负责大多数管理任务。它目前支持使用 SQL Server 数据库镜像(DBM,Database Mirroring)或 Always On 可用性组(AG,Availability Group)作为高度可用的失效转移解决方案,对 SQL Server 进行多可用区部署。

在单个区域内实现高可用性

图 3 演示了在 Amazon RDS 上运行的 Microsoft SQL 数据库服务在单个区域中配置了多可用区部署模型。多可用区部署为数据库实例提供了更高的可用性、数据持久性和容错能力。如果发生计划内数据库维护或计划外服务中断,Amazon RDS 会自动失效转移到最新的辅助数据库实例。此功能可让数据库操作快速恢复,而无需人工干预。主实例和备用实例使用相同的端点,作为失效转移过程的一部分,其物理网络地址将转换为辅助副本。发生失效转移时,您无需重新配置应用程序。Amazon RDS 通过使用 SQL Server 数据库镜像或 Always On 可用性组来支持 Microsoft SQL Server 的多可用区部署。

image.png

图 3.通过 Amazon RDS 上的 Microsoft SQL 数据库服务在单个区域内实现高可用性

跨多个区域实现高可用性

图 4 描述了如何使用 Amazon Database Migration Service(Amazon DMS)在 Amazon RDS 上跨多个区域配置 Microsoft SQL 数据库服务之间的跨连续复制。Amazon DMS 需要在 Amazon RDS 上为 Microsoft SQL Server 实例启用 Microsoft Change Data Capture。如果出现问题,您可以通过在其他区域内提升 Amazon RDS 只读副本,来启动手动失效转移并恢复数据库服务。

image.png

图 4.通过 Amazon RDS 上的 Microsoft SQL 数据库服务跨多个区域实现高可用性

在 Amazon Aurora 上以高可用性模式重构 Microsoft SQL 数据库服务

此选项可帮助您消除 SQL 数据库服务许可证成本。您可以在真正的云原生现代数据库架构上运行数据库服务。您可以使用 Amazon Schema Conversion Tool 来协助评估并转换数据库代码和存储对象。将明确标记任何无法自动转换的对象,以便手动转换这些对象来完成迁移。

Aurora 架构涉及存储和计算的分离。Aurora 包含一些适用于数据库集群中的数据的高度可用的功能。即使集群中的部分或全部数据库实例变得不可用,数据也是安全的。其他高度可用的功能适用于数据库实例。这些功能有助于确保一个或多个数据库实例准备好处理来自应用程序的数据库请求。

在单个区域内实现高可用性

图 5 说明了 Aurora 将数据副本存储在跨单个区域内的多个可用区的数据库集群中。当数据写入主数据库实例时,Aurora 会跨可用区将数据同步复制到与集群卷关联的六个存储节点。这样做可以实现数据冗余,消除 I/O 冻结,并最大限度地减小系统备份期间的延迟峰值。以高可用性模式运行数据库实例,可以在计划内系统维护(例如数据库引擎更新)期间提高可用性,并有助于保护数据库,使其免受故障和可用区中断的影响。

image.png

图 5.通过 Amazon Aurora 在单个区域内实现高可用性

跨多个区域实现高可用性

图 6 描述了如何设置 Aurora 全局数据库以实现跨多个区域的高可用性。Aurora 全局数据库由一个将数据写入到的主区域和最多五个只读辅助区域构成。您可以直接向主区域中的主数据库集群发出写入操作。Aurora 自动使用专用基础设施将数据复制到辅助区域,这通常会有不到一秒的延迟。

image.png

图 6.通过 Amazon Aurora 全球数据库跨多个区域实现高可用性

总结

在 Amazon 上实现 SQL 数据库服务的现代化时,您可以选择 Amazon EC2、Amazon RDS 或 Amazon Aurora 选项。了解业务所需的特性和服务管理责任的范围是一个好的开始。当提供了多个满足业务需求的选项时,请选择一个能够让您更多地关注您的应用程序和业务增值功能,并帮助您降低服务的“总拥有成本”的选项。

image.png

Lewis Tang

Lewis Tang 是澳大利亚悉尼的 Amazon Web Services 高级解决方案架构师。Lewis 为合作伙伴提供有关各种 Amazon 服务的指导,并帮助合作伙伴加快 Amazon 业务的发展。

文章来源:https://dev.amazoncloud.cn/column/article/630a0bdcd4155422a4610a55?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我们如何在 Elasticsearch 8.6、8.7 和 8.8 中加速数据摄入

作者:Adrien Grand, Joe Gallo, Tyler Perkins 正如你们中的一些人已经注意到的,Elasticsearch 8.6、8.7 和 8.8 在各种数据集上带来了良好的索引加速,从简单的关键字到繁重的 KNN 向量,以及摄取管道繁重的摄取工作负载。 摄取涉及…

2023版7月软件测试面试题(800道)【附带答案】持续更新...

又到了立flag的时候,你的目标是拿下大厂offer?还是多少万年薪?其实这些都离不开日积月累的过程。 为此我特意整理出一份(超详细笔记/面试题)它几乎涵盖了所有的测试开发技术栈,非常珍贵,人手一…

cancal报错 config dir not found

替换classpath中间封号两边的值

1186. 删除一次得到子数组最大和;1711. 大餐计数;1834. 单线程 CPU

1186. 删除一次得到子数组最大和 解题思路:如果没做过还不是很好想,当时自己第一反应是双指针,结果是个动态规划的题。 核心就是dp的定义,dp[i][k]表示以arr[i]结尾删除k次的最大和。看到这里其实就有一点思路了 dp[i][0]表示以…

JVM理论(五)执行引擎--解释器/JIT编译器

概述 首先执行引擎是java虚拟机核心的组成部分之一;而JVM的主要任务是装载字节码到内存,但不能够直接运行在操作系统之上.因为字节码指令并非等价于本地机器指令,它仅仅包含能够被JVM所识别的指令、符号表、以及其他信息;而此时执行引擎就华丽登场,它的任务就是将字节码指令解…

行为型模式 - 策略模式

概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发&…

Web 3.0时代,重塑教育与学习方式的可能性

随着科技的快速发展和互联网的普及,教育领域也面临着巨大的机遇和挑战。Web 3.0时代的到来为教育与学习方式带来了全新的可能性。在这个数字化时代,我们可以探索和利用Web 3.0技术,重塑教育的方式,提供更个性化、互动性和灵活性的…

在Illustrator中创建 3D 冰淇淋模型对象

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 一旦你学会了如何在Illustrator中制作一个对象3D,你可以前往Envato Elements,在那里你可以找到大量的3D设计来激发你的灵感。这个基于订阅的市场拥有超过 2,000 个 Illus…

php实现站群软件权限管理功能示例

1.管理员页面RBAC.php <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>权限管理</title> <script src"bootstrap/js/jquery-1.11.2.min.js"></script> </head>…

项目名称:智能家居边缘网关项目

一&#xff0c;项目介绍 软件环境: C语言 硬件环境: STM32G030C8TX单片机开发板 开发工具: Linux平台GCC交叉编译环境以及ukeil (1)边缘网关概念 边缘网关是部署在网络边缘侧的网关&#xff0c;通过网络联接、协议转换等功能联接物理和数字世界&#xff0c;提供轻量化的联接管…

通过new FormData提交简单数据

通过new FormData提交简单数据 效果示例图代码 效果示例图 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css">* {padding: 0px;margin: 0px;box-sizing: border-…

费尔法克斯水务通过使用 Liquid UI 移动化和定制 SAP PM 来提高收入和数据完整性

背景 费尔法克斯水务是北弗吉尼亚州地区领先的水县。它是华盛顿特区大都会区的三大供水商之一。它每天为近171万居民提供2.<>亿加仑的水。它渴望坚持其愿景&#xff0c;即保持以客户为中心&#xff0c;同时帮助维持该地区的高质量生活和经济状况。 挑战 由于桌面系统&…

【Ceph的部署】

目录 一、基于 ceph-deploy 部署 Ceph 集群1、Ceph 生产环境推荐&#xff1a;2、Ceph 环境规划3、环境准备1、关闭 selinux 与防火墙2、根据规划设置主机名3、配置 hosts 解析4、安装常用软件和依赖包5、在 admin 管理节点配置 ssh 免密登录所有节点6、为每一个服务器配置时间同…

写给后端开发的『vue3』请求后端接口

本文分享一下在vue3前端项目中请求后端接口获取数据。比较简单&#xff0c;内容如下&#xff1a; 1、使用axios请求后端接口 首先npm install axios&#xff0c;添加axios依赖&#xff0c;就靠它来请求后端接口了&#xff0c;基本等同于使用jquery发ajax。 # src/main.js i…

每天一点Python——day58

#第五十八天 集合间的关系&#xff1a; 类似于数学中学到的集合一样&#xff0c;关系差不多&#xff0c;譬如相等&#xff0c;子集&#xff0c;交集 如图所示&#xff1a;#①两个集合是否相等&#xff1a;运用运算符【等号】或者运算符&#xff01;【不等号】进行判断 #例&…

人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法

人工智能大语言模型微调技术&#xff1a;SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法 1.SFT 监督微调 1.1 SFT 监督微调基本概念 SFT&#xff08;Supervised Fine-Tuning&#xff09;监督微调是指在源数据集上预训练一个神经网络模型&#xff…

听GPT 讲K8s源代码--pkg(六)

pkg/kubelet/cm 目录是 Kubernetes 源代码中的一个目录&#xff0c;包含了 kubelet 组件中的 ConfigMap 相关代码。 在 Kubernetes 中&#xff0c;ConfigMap 是一种用于存储非机密数据的 API 对象类型&#xff0c;它可以用来存储配置信息、环境变量、命令行参数等等。 kubelet …

Twisted Circuit

题目描述 输入格式 The input consists of four lines, each line containing a single digit 0 or 1. 输出格式 Output a single digit, 0 or 1. 题意翻译 读入四个整数 00 或者 11&#xff0c;作为如图所示的电路图的输入。请输出按照电路图运算后的结果。 感谢PC_DOS …

时序预测 | MATLAB实现Hamilton滤波AR时间序列预测

时序预测 | MATLAB实现Hamilton滤波AR时间序列预测 目录 时序预测 | MATLAB实现Hamilton滤波AR时间序列预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 预测在很大程度上取决于适合周期的模型和所采用的预测方法,就像它们依赖于过滤器提取的周期一样。标准 Hodrick-P…

Python教程(4)——Python开发工具PyCharm的下载与安装

PyCharm是一种专业的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;由JetBrains公司开发和维护。它提供了丰富的功能和工具&#xff0c;帮助开发人员更高效地编写、调试和测试Python代码。如果是一些大型Python项目强烈推荐用这个来开发。今天我们来介绍一下PyCha…