Q68 — AWS SAA-C03 第13章
第 68/100 题 | ← 返回第13章
Q968. 一家社交媒体公司正在扩展其由 Amazon DynamoDB 支持的基础设施,以适应日益增长的用户活动.该公司管理三种数据类型:用户个人资料、帖子和评论.该公司希望确保写入密集型查询的高性能.新的解决方案必须确保高可用性.新的解决方案需要在数据库层和应用程序层之间提供低延迟.新的解决方案必须能够处理全球用户的动态流量模式.该公司还必须跟踪 DynamoDB 表中项目的更改.哪种解决方案能够以最少的运营开销满足这些要求?
- A. 创建单个 DynamoDB 表来存储所有数据类型.使用全局二级索引 (GSls) 进行查询.使用 DynamoDB 自动扩展来确保自适应容量.使用 Amazon Kinesis Data Streams 提供低延迟并跟踪更改.
- B. 对每种数据类型使用单独的 DynamoDB 表.对所有表使用按需容量模式.使用 DynamoDB Accelerator (DAX) 提供低延迟.使用 Amazon Kinesis Data Streams 跟踪更改.
- C. 使用 DynamoDB 全局表在 AWS 区域间分发数据并提供低延迟.对每种数据类型使用单独的 DynamoDB 表.使用 Amazon DynamoDB Streams 跟踪更改. ✓
- D. 创建单个 DynamoDB 表来存储所有数据类型.使用预置容量模式来提供低延迟.使用复合排序键进行查询.使用 Amazon Data Firehose 来跟踪更改.
正确答案: C. 使用 DynamoDB 全局表在 AWS 区域间分发数据并提供低延迟.对每种数据类型使用单独的 DynamoDB 表.使用 Amazon DynamoDB Streams 跟踪更改.
解析
正确答案是 C.使用 DynamoDB 全局表在 AWS 区域间分发数据并提供低延迟.对每种数据类型使用单独的 DynamoDB 表.使用 Amazon DynamoDB Streams 跟踪更改.原因如下:A. 创建单个 DynamoDB 表来存储所有数据类型.使用全局二级索引 (GSI) 进行查询.使用 DynamoDB 自动扩展来确保自适应容量.使用 Amazon Kinesis Data Streams 提供低延迟并跟踪更改.- 使用带有 GSI 的单个表可能无法为写入密集型工作负载提供最佳性能,因为 GSI 会增加开销.- Kinesis Data Streams 对于低延迟来说不是必需的,因为 DynamoDB Accelerator (DAX) 或 DynamoDB 全局表可以提供此功能.B. 对每种数据类型使用单独的 DynamoDB 表.对所有表使用按需容量模式.使用 DynamoDB Accelerator (DAX) 提供低延迟.使用 Amazon Kinesis Data Streams 跟踪更改.- 对于写入密集型工作负载来说,按需容量模式可能不是最具成本效益的解决方案.- Kinesis Data Streams 对于跟踪变化来说不是必需的,因为 DynamoDB Streams 可以提供此功能.C.使用 DynamoDB 全局表在 AWS 区域间分发数据并提供低延迟.对每种数据类型使用单独的 DynamoDB 表.使用 Amazon DynamoDB Streams 跟踪更改.- DynamoDB 全局表旨在为全球分布式应用程序提供高可用性和低延迟.- 对每种数据类型使用单独的表符合确保写入密集型查询的高性能的要求.- DynamoDB Streams 是跟踪 DynamoDB 表中项目更改的推荐解决方案.D. 创建单个 DynamoDB 表来存储所有数据类型.使用预置容量模式来提供低延迟.使用复合排序键进行查询.使用 Amazon Data Firehose 来跟踪更改.- 对于写入密集型工作负载,使用单个表可能无法提供最佳性能.- Amazon Kinesis Data Firehose 不是推荐的跟踪变化的解决方案,因为 DynamoDB Streams 是用于此目的的服务.总体而言,选项 C 中的解决方案使用 DynamoDB 全局表、每种数据类型的单独表和 DynamoDB Streams,提供了性能、可用性、低延迟和操作简单性的最佳平衡,以满足给定的要求.