Q5 — AWS SAA-C03 第11章
第 5/100 题 | ← 返回第11章
Q705.一家公司为移动设备部署了一款多人游戏.该游戏需要根据纬度和经度对玩家进行实时位置跟踪.游戏的数据存储必须支持快速更新和位置检索.该游戏使用带有只读副本的 Amazon RDS for PostgresQL 数据库实例来存储位置数据.在使用高峰期,数据库无法维持读取和写入更新所需的性能.该游戏的用户群正在迅速增长.解决方案架构师应该如何提高数据层的性能?
- A. 拍摄现有数据库实例的快照.恢复启用多可用区的快照
- B. 使用 Kibana 从 Amazon RDS 迁移到 Amazon Elasticsearch Service (Amazon ES)
- C. 在现有数据库实例前面部署 Amazon DynamoDB Accelerator (DAX).修改游戏以使用DAX
- D. 在现有数据库实例前面部署 Amazon ElastiCache for Redis 集群.修改游戏以使用Redis. ✓
正确答案: D. 在现有数据库实例前面部署 Amazon ElastiCache for Redis 集群.修改游戏以使用Redis.
解析
正确答案是d。在现有的DB实例前面部署一个Amazon ElastiCache for Redis集群。修改游戏以使用Redis。 解释: a .获取现有DB实例的快照并在启用Multi-AZ的情况下恢复它并不能解决性能问题。Multi-AZ是为高可用性而设计的,而不是为了提高读写性能。 从PostgreSQL的Amazon RDS迁移到Kibana的Amazon Elasticsearch Service (Amazon ES)并不是正确的解决方案,因为Amazon ES主要用于搜索和分析,而不是用于实时位置跟踪和更新。 C.在现有的DB实例前面部署Amazon DynamoDB Accelerator (DAX)并不是最好的解决方案,因为DynamoDB是一个NoSQL数据库服务,而游戏目前使用的是PostgreSQL数据库。 在现有的DB实例前面部署一个Amazon ElastiCache for Redis集群是最好的解决方案。Redis是一个内存数据存储,可以处理位置数据的快速更新和检索,这比传统的关系数据库(如PostgreSQL)更适合游戏的需求。通过在Redis中缓存位置数据,游戏可以从PostgreSQL数据库中卸载读写工作负载,提高数据层的整体性能。