Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将设备状态的副本保存在thing shadow和DynamoDB之类的数据库中是最佳做法吗?_Amazon Web Services_Iot_Aws Iot - Fatal编程技术网

Amazon web services 将设备状态的副本保存在thing shadow和DynamoDB之类的数据库中是最佳做法吗?

Amazon web services 将设备状态的副本保存在thing shadow和DynamoDB之类的数据库中是最佳做法吗?,amazon-web-services,iot,aws-iot,Amazon Web Services,Iot,Aws Iot,在DynamoDB这样的数据库中保存设备卷影副本是最佳做法吗 当我们必须查询聚合设备时,这将非常有用 数据。例如,“给我所有带state='ON'的设备” 这里的问题是同步数据库中的数据副本 设备阴影和数据库 有什么建议吗? 这取决于您的要求。如果您需要查询ThingShadow数据,您可能应该使用数据库。Dynamodb可以工作,同样取决于您的需求。当然,您应该在dynamodb中创建必要的索引,这样就不需要执行表扫描 根据设备数量和更新频率,您可能能够在RDS的关系数据库中存储状态。注

在DynamoDB这样的数据库中保存设备卷影副本是最佳做法吗

  • 当我们必须查询聚合设备时,这将非常有用 数据。例如,“给我所有带state='ON'的设备”
  • 这里的问题是同步数据库中的数据副本 设备阴影和数据库

有什么建议吗?

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

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


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

于2017年12月推出,支持为您的事物和阴影编制索引。此服务自动检测事物/阴影中的更改并更新索引。您可以使用一种流行的开源搜索查询语言的子集对该索引执行强大的查询


要尝试此功能,您可以调用或只需勾选AWS物联网控制台中的复选框

这取决于你的使用情况。如果您要支持非常大的用户群,并且设备的状态变化非常快,则需要非常高的配置吞吐量($$$)来支持该操作。只需遵循DynamoDB的标准最佳实践:车队索引可能会很快变得昂贵!在规模上,最好推出自己的解决方案。