我需要接收实时 MQTT 数据,将它们存储在 AWS 云中,并在单独的基于 Web 的应用程序中使用这些数据提供见解。在这种需求下,将它们存储在 DynamoDB 还是 S3 中会更好吗?
我尝试使用 AWS IoT Core、Kinesis Data Stream、Lambda 和 DynamoDB 表处理数据。数据正在处理,但我不确定我收到的所有数据是否都已存储。由于前 150 条记录以正常速度处理并存储在 DynamoDB 中,因此处理 150 条记录后处理时间会变慢。不知道出了什么问题。所以,我不确定我的架构是否可以,或者我是否遗漏了一些东西。
如果您的 Web 应用程序获取数据频率较高,则最好将数据存储在 DynamoDB 而不是 S3 中。但是,您可能还需要考虑通过定期将很少访问的旧数据归档到 S3 并为每个 DynamoDB 项目设置生存时间 (TTL) 来优化 DynamoDB 存储的成本。
关于处理时间,可能是由以下一项或多项因素造成
如果做轻处理,也可以简化一下服务栈,看看是否能提升处理速度。