将设备状态的副本保存在事物影子和 DynamoDB 等数据库中是否是一种最佳实践?



DynamoDB 等数据库中保留设备影子的副本是否是一种最佳实践?

  • 当我们必须在聚合设备上查询时,这将很有帮助数据。例如。"给我所有状态='ON'的设备"
  • 这里的问题是同步数据的副本设备影子和数据库

对此有什么建议吗?

AWS IoT 队列索引于 2017 年 12 月推出,支持为您的事物和阴影编制索引。此服务会自动检测事物/阴影的变化并更新索引。可以使用 Lucene(一种流行的开源搜索查询语言)的子集对此索引执行功能强大的查询。

要试用此功能,您可以调用更新-索引-配置 API,或者只需在 AWS IoT 控制台中勾选复选框即可。

这取决于您的要求。如果您需要查询事物影子数据,则可能应该使用数据库。Dynamodb可以工作,同样取决于您的要求。当然,您应该在dynamodb中创建必要的索引,这样您就不需要执行表扫描。

根据设备的数量和更新频率,您可能能够将状态存储在 RDS 的关系数据库中。请注意,此选项的可伸缩性较低。要同步数据,您需要将 IOT 规则转发到执行数据库更新的 lambda 函数。使用 dynamodb,您可以将规则直接转发到 dynamodb 中。仅以一种方式(即事物状态 -> 数据库)进行同步以保持简单。

您的其他选择是获取所有事物的阴影并自己过滤结果。

相关内容

最新更新