在 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 向量,以及摄取管道繁重的摄取工作负载。 摄取涉及…

跳跃表SkipList(简单的C++实现)

不懂跳跃表的请直接百度 直接上实现 #include <iostream> #include <string.h> #include <ctime>using namespace std;template<typename T> struct SkipNode {inline static constexpr int Rate3;inline static constexpr int MaxHeight8;inline sta…

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

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

批量添加:vue+easyexcel 上传excel文件解析为Java对象并保存到数据库

对于像数据库中批量添加数据&#xff0c;我们一般会选择通过Excel文件先按照固定的格式将数据保存&#xff0c;然后再通过系统上传进而保存到数据库中。 阿里的excel解析工具EasyExcel和Apach的POI都能进行Excel文件的解析&#xff0c;但是EasyExcel操作起来要相对更简单一些&…

cancal报错 config dir not found

替换classpath中间封号两边的值

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

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

K8S pod 均匀调度分配 —— 筑梦之路

pod调度简介 在 k8s 中 通过 kube-scheduler 组件来实现 pod 的调度&#xff0c;所谓调度&#xff0c;即把需要创建的 pod 放到 合适的 node 上&#xff0c;大概流程为&#xff0c;通过对应的 调度算法 和 调度策略&#xff0c;为待调度的 pod 列表中的 pod 选择一个最合适的 N…

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

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

rust学习-泛型和trait

泛型 Option&#xff0c;Vec&#xff0c;HashMap<K, V>&#xff0c;Result<T, E>等&#xff0c;取函数以减少代码重复的机制 背景 两个函数&#xff0c;不同点只是名称和签名类型 fn largest_i32(list: &[i32]) -> i32 {let mut largest list[0];for &…

【python】动态规划:牛客网HJ24 合唱队

描述 N 位同学站成一排&#xff0c;音乐老师要请最少的同学出列&#xff0c;使得剩下的 K 位同学排成合唱队形。 设KK位同学从左到右依次编号为 1&#xff0c;2…&#xff0c;K &#xff0c;他们的身高分别为T1,T2,…,TKT1​,T2​,…,TK​ &#xff0c;若存在i(1≤i≤K)i(1≤i…

【数字IC前端笔试真题精刷(2021)】大疆——数字芯片开发工程师A/B卷

声明:本专栏所收集的数字IC笔试题目均来源于互联网,仅供学习交流使用。如有侵犯您的知识产权,请及时与博主联系,博主将会立即删除相关内容。 笔试时间:2021年A/B卷 题目类型:(只列了选择题) 大疆芯片开发岗A卷 文章目录 一、单选题 / 多选题1.(单选)关于流水线设计的…

C++并发编程(6):单例模式、once_flag与call_once、call_once实现单例

单例模式 参考博客 【C】单例模式&#xff08;饿汉模式、懒汉模式&#xff09; C单例模式总结与剖析 饿汉单例模式 C实现 C单例模式(饿汉式) 设计模式&#xff08;Design Pattern&#xff09;是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结 &#xff0c;一共…

行为型模式 - 策略模式

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

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

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

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

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

SpringBoot整合PostgreSQL教程

主要描述如何优雅的整合postgresql。本文略去如何安装pgsql的过程&#xff0c;详情可参考其他文章。 文章目录 postgresql简介整合postgresql整合mybatis整合mybatis-plus postgresql简介 与mysql一样也是开源的关系型数据库&#xff0c;同时还支持NoSql的文档型存储。在某些方…

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

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