Q5 — AWS SAA-C03 第17章

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

Q1305. 一家公司希望在 AWS 云上运行一个生产数据库。该数据库将从多个 AWS 区域的多个位置收集数十亿个传感器读数。数据以每秒 50,000 次的持续写入速率写入数据库。该公司将每三个月对数据库进行一次报表生成。为了生成报表,该公司将运行简单的查询,根据唯一的位置 ID 检索数据。查询结果的大小会有所不同。该公司需要一个能够优化数据存储成本的解决方案。该解决方案必须具有高度的稳定性,并且不能影响数据库性能。哪种解决方案能够满足这些要求?

正确答案: B. 使用 Amazon DynamoDB 标准表,并启用 DynamoDB Accelerator(DAX)。

解析

让我们根据以下要求分析每个选项:处理高写入速率(每秒 50,000 次写入)、优化数据存储成本、确保高持久性,以及不影响生产数据库性能,该数据库用于收集来自多个区域的传感器读数:方案 A:在单个区域中使用 Amazon Aurora Serverless v2。指定所需的容量范围。写入性能:Amazon Aurora Serverless v2 可以自动扩展其计算和内存资源以处理不同的工作负载。但是,对于持续每秒 50,000 次写入的速率,依赖单个区域的部署可能会在可扩展性和可用性方面面临限制。区域解决方案也更容易受到区域性故障的影响,这可能会中断数据库服务。存储成本:虽然 Aurora Serverless v2 在处理可变工作负载时可能具有成本效益,但它可能并非长期存储大量数据的最佳选择,尤其是在考虑长期存储数十亿个传感器读数时。持久性:Aurora 在单个区域内提供高持久性,但多区域方案可提供更强大的灾难恢复能力。因此,此选项可能无法完全满足要求。方案 B:使用 Amazon DynamoDB 标准表,并启用 DynamoDB Accelerator (DAX)。写入性能:Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,旨在处理高吞吐量工作负载。它可以轻松处理每秒 50,000 次的持续写入速率,并且可以横向扩展以适应更高的写入量。存储成本:DynamoDB 标准表提供了一种经济高效的方式来存储大量数据。按请求付费的定价模式允许您仅为使用的读取和写入容量付费,并且长期有效。对于大型数据集的长期存储,与其他一些数据库选项相比,DynamoDB 更具成本效益。持久性:DynamoDB 通过在同一区域内的多个可用区之间复制数据来提供高持久性。此外,您还可以使用全局表跨多个区域复制数据,从而进一步增强持久性和可用性。报表性能:启用 DynamoDB 加速器 (DAX) 可以显著提升读取密集型工作负载的性能。对于基于唯一位置 ID 的简单查询的季度报表,DAX 可以将频繁访问的数据缓存到内存中,从而降低查询响应延迟,且不会影响数据库的整体性能。此选项满足所有要求。选项 C:部署 Amazon RDS for PostgreSQL 数据库实例并创建只读副本。写入性能:Amazon RDS for PostgreSQL 是一种关系型数据库服务。虽然它可以处理大量的写入流量,但要达到每秒 50,000 次的持续写入速率,可能需要使用多个实例并进行适当的分片,从而构建复杂且昂贵的配置。与 DynamoDB 相比,它在处理高写入工作负载方面本身的可扩展性较差。存储成本:与 DynamoDB 相比,RDS for PostgreSQL 在存储数十亿个传感器读数方面可能并不那么经济高效,尤其是在考虑到处理高写入速率所需的存储和计算资源时。持久性:RDS 在单个区域内提供高持久性,但与 Aurora 类似,为了获得更好的灾难恢复效果,需要采用多区域架构,这会增加复杂性和成本。因此,该方案并非最佳选择。选项 D:使用 Amazon DynamoDB Standard - IA 表,分布在多个区域中。配置 DynamoDB 以管理容量。写入性能:DynamoDB 标准表 - IA(不频繁访问)表专为访问频率较低的数据而设计。与标准表相比,它们的读写延迟更高,因此可能不适用于持续每秒 50,000 次写入的场景,因为低延迟写入至关重要。存储成本:虽然标准表 - IA 表为不频繁访问的数据提供了更低的存储成本,但较高的延迟和潜在的性能影响使其不适合高写入量的生产数据库。因此,此选项不符合要求。所以,满足要求的解决方案是选项 B。