Q22 — AWS SAA-C03 第15章

第 22/100 题 | ← 返回第15章

Q1122. 一家公司运行一个 Web 应用程序,该应用程序使用 Amazon RDS for MySQL 存储关系数据。数据库中的数据不经常更改。一位解决方案架构师注意到,在高峰使用时段,数据库在提供数据时存在性能问题。该公司希望提高数据库的性能。哪些步骤组合可以满足这些要求?(选择两个。)

正确答案: B. 为数据库创建一个只读副本。将读取流量重定向到该只读副本。, C. 创建一个 Amazon ElastiCache (Memcached) 集群。配置应用程序和数据库以与集群集成。

解析

为了提高 Amazon RDS for MySQL 数据库在高峰使用时段的性能,以下步骤组合将会有效:B. 为数据库创建一个只读副本。将读取流量重定向到该只读副本。C.创建一个 Amazon ElastiCache (Memcached) 集群。配置应用程序和数据库以与集群集成。解释:B:创建只读副本可以减轻主数据库实例的读取流量。这有助于通过减少主数据库的负载来提高性能,尤其是在高峰使用时段。C:实施 Amazon ElastiCache(Memcached)可以通过将频繁访问的数据缓存在内存中来显著提升性能。这减少了从数据库直接读取的次数,进一步减轻了负载并缩短了响应时间。为什么其他选择不适合:A.集成 AWS WAF(Web 应用程序防火墙)主要侧重于安全性,并不直接有助于提高数据库性能。D:使用 S3 One Zone-IA 存储类不适用于提高 RDS 性能,因为此存储类适用于不经常访问的数据,与数据库操作无关。E:迁移到 Amazon DynamoDB 可能没有必要,并且可能涉及对应用程序架构进行重大更改,这可能无法直接解决现有 RDS 设置所带来的直接性能问题。因此,选项 B 和 C 提供了一种有针对性且有效的策略来增强 RDS for MySQL 数据库的性能。为了提升 Amazon RDS for MySQL 数据库在峰值读取流量(数据不频繁变化)期间的性能,最佳方法是卸载读取工作负载并缓存频繁访问的数据。以下是对这些选项的分析:关键要求:提升读取性能:数据库在高峰时段难以承受高读取负载。数据变化不频繁:数据为静态或很少更新,适合缓存。无需完全迁移:现有的 RDS for MySQL 足以满足写入需求;仅需优化读取性能。期权分析:选项A:将 AWS WAF 与应用程序集成。失败原因:AWS WAF 用于 Web 应用程序防火墙保护(阻止 SQL 注入、DDoS 等)。它不会提高数据库性能。选项 B:为数据库创建只读副本。将读取流量重定向到该只读副本。为什么有效:只读副本是主数据库的只读副本。将读取查询卸载到副本可以减轻主数据库的负载,从而提高性能。非常适合不频繁更改的数据:由于写入操作很少,副本可以保持同步,延迟极低。选项C:创建 Amazon ElastiCache (Memcached) 集群。配置应用程序和数据库以与集群集成。为什么有效:ElastiCache(Memcached)将经常访问的数据缓存在内存中,从而减少重复数据库查询的需要。非常适合不经常变化的数据:由于数据很少变化,因此缓存命中率会很高,从而显著提高读取性能。选项D:使用 Amazon S3 单区-不频繁访问 (S3 One Zone-IA) 存储类来存储不经常更改的数据。失败原因:S3 One Zone-IA 适用于对象存储,而非关系数据库数据。该数据库无法将 S3 用作 MySQL 的后端存储层。选项E:将数据库迁移到 Amazon DynamoDB。配置应用程序以使用 DynamoDB 数据库。失败原因:DynamoDB 是一个 NoSQL 数据库,并非 RDS for MySQL(关系型数据库)的直接替代品。迁移需要大量应用程序重写(这对性能调优来说操作效率不高)。最佳组合:B&C读取副本(选项 B):将读取查询卸载到副本,从而减少主数据库的负载。ElastiCache (Memcached)(选项 C):将经常访问的数据缓存在内存中,最大限度地减少数据库查询。最终答案:B. 为数据库创建只读副本。将读取流量重定向到该只读副本。C. 创建 Amazon ElastiCache (Memcached) 集群。配置应用程序和数据库以与该集群集成。