[SEO 副标题]
本指南演示了如何使用 Amazon DynamoDB Streams 为 DynamoDB 表构建近乎实时的数据聚合。它概述了 DynamoDB Streams 在源表上的配置,并提供了实施聚合函数的示例代码。此函数将轮询数据流,对数据执行计算或转换,并将聚合结果插入目标 DynamoDB 表。通过将 DynamoDB Streams 与表集成,您可以获得对关键数据(如销售数字)的可视性和近乎实时的洞察,从而实现及时的库存管理和优化运营。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
Amazon API Gateway 向 Amazon DynamoDB 源表插入一个新项目。
第 2 步
DynamoDB 自动将新项目发送到相关联的 Amazon DynamoDB Streams,其将捕捉该项目的变化。
第 3 步
AWS Lambda 每秒轮询配置的 DynamoDB Streams 四次,并运行聚合函数。
第 4 步
Lambda 函数执行所需的聚合逻辑,并将数据插入目标 DynamoDB 表(也可以是同一个表)。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南使用 DynamoDB Streams 将 DynamoDB 表中的更改自动流式传输到 Lambda。这样,您就无需构建和维护自定义数据流管道。此外,借助 Amazon CloudWatch 中的日志记录和监控功能,您可以快速识别任何可能出现的问题,并对其进行故障排除。
-
安全性
通过使用 DynamoDB 和 Lambda,您将受益于这些 AWS 服务内置的强大安全功能。具体而言,DynamoDB 可为静态数据提供加密,而 Lambda 则能够提供安全、隔离的执行环境。这些服务相结合,将有助于确保您的敏感数据不受未经授权的访问或篡改。此外,本指南遵循最低权限原则,仅向 Lambda 函数授予访问和处理 DynamoDB 数据所需的权限,这进一步加强了整体安全态势。
-
可靠性
DynamoDB、DynamoDB Streams 和 Lambda 都是由 AWS 提供的完全托管的服务。Lambda 包含自动重试和错误处理机制等功能,可用于管理在处理来自流的传入数据时出现的问题。本指南中使用的所有服务都可以在高负载下自动扩展,无需停机即可修补,并且在设计上能够通过内置的重试机制实现容错。
-
性能效率
本指南使用 DynamoDB Streams 调用 Lambda 函数。利用这些服务,您可以高效地访问聚合数据,而无需进行成本高昂的表扫描,因为表扫描不仅耗费时间,还会造成系统延迟。通过 DynamoDB Streams 调用 Lambda 函数不仅可以提高数据检索效率,还可以解决扫描大型数据集时可能出现的延迟问题,从而增强系统的整体性能。
-
成本优化
使用 DynamoDB 和 Lambda,您只需为使用的资源付费,无需管理硬件。而且,由于 DynamoDB Streams 是 DynamoDB 的内置功能,因此流式传输数据不会产生额外费用。这种方法从 DynamoDB Streams 流式传输数据,通过 Lambda 函数聚合数据,然后将聚合数据写回 DynamoDB,与对聚合执行全表扫描相比,其更具成本效益。它也比将数据流式传输到单独的数据库进行此类计算更经济实惠。
-
可持续性
本指南使用 Lambda 的无服务器架构为实现可持续的工作负载提供支持,该架构可优化资源分配,并减少维护物理硬件的需求。只有当基础 DynamoDB 表中的数据发生变化时,才会调用 Lambda 函数,这将减少计算资源的运行时间和执行次数。这种方法有助于消除维护物理基础设施的需要,提高工作负载的可持续性。
相关内容
使用 Amazon DynamoDB Streams 为 Amazon DynamoDB 表构建聚合
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。