Q42 — AWS SAA-C03 第17章

第 42/89 题 | ← 返回第17章

Q1342. 一家公司正在开发一个使用 Amazon Aurora MySQL 数据库的应用程序。该公司计划定期更改 MySQL 数据库架构以测试新功能。这些测试不得影响现有的生产数据库。公司完成测试后,开发人员需要将更改复制到生产数据库。该解决方案必须最大限度地减少停机时间。哪种解决方案能够满足这些要求?

正确答案: B. 基于现有的 Aurora MySQL 数据库创建一个只读副本。对只读副本进行架构更改。测试成功后,将只读副本提升为主数据库。

解析

B 或 C。让我们根据需求分析每个选项:需求概述定期对 MySQL 数据库架构进行更改,以便测试新功能,而不会影响现有的生产数据库。测试完成后,以最短的停机时间将更改复制到生产数据库。选项 A创建测试数据库集群:基于现有数据库创建一个新的 Aurora MySQL 测试数据库集群是一个不错的开始。这允许开发人员在隔离环境中进行模式更改,而不会影响生产数据库。然而,这种方法无法解决如何以最小的停机时间将更改复制到生产数据库的问题。测试完成后,开发人员需要手动将模式更改应用到生产数据库,这可能既耗时又容易出错,并且根据更改的复杂程度,可能会导致严重的停机。选项 B使用只读副本:隔离测试环境:基于现有 Aurora MySQL 数据库创建只读副本,可为测试架构变更提供隔离环境。由于只读副本是主数据库的副本,因此对其所做的更改不会影响生产(主)数据库。最小停机时间复制:测试成功后,将只读副本提升为主数据库是 Amazon Aurora 中一项成熟的流程。此操作可在最小停机时间内完成,通常仅在提升过程中短暂中断。这满足了以最小停机时间将变更复制到生产数据库的要求。选项C数据库蓝绿部署:蓝绿部署是应用程序部署的常用策略,但对于数据库而言,尤其是在进行模式变更时,它并不那么简单。管理两个独立的数据库环境(蓝色和绿色),并在它们之间切换流量以进行数据库相关变更,这非常复杂。它需要仔细地同步两个环境之间的数据,并且在切换过程中确保数据一致性也极具挑战性。这种方法更适合应用程序代码部署,而不是数据库模式变更。选项 D复制到 DynamoDB:Amazon DynamoDB 是一个 NoSQL 数据库,而应用程序使用的是 Amazon Aurora MySQL 数据库。将 MySQL 数据库复制到 DynamoDB 表并非易事,需要对应用程序的数据访问层进行重大更改。此外,在 DynamoDB 中进行模式更改与在 MySQL 等关系型数据库中进行模式更改有着本质区别。因此,此选项无法满足将 MySQL 模式更改轻松复制到生产环境的需求。因此,满足要求的方案是方案 B。所以答案是 B。