Azure流分析作业降级,同时将数据推送到cosmos DB
我有来自Azure IoT Hub->Stream Analytics->CosmosDB的推送数据 我有一个模拟设备,我的cosmos DB收集的1000 RU/s运行良好。 现在我已经制作了10台模拟设备,我的Cosmos DB收集扩展到15000 RU/s,但我的流分析仍然在降级 是否需要增加集合的并行连接数 我们能否使其更为优化,因为Cosmos DB的Azure定价取决于吞吐量和RU 我们能否使其更为优化,因为Cosmos DB的Azure定价取决于 吞吐量和RUs 我只想在这里与大家分享一些关于提高Cosmos db的写入性能的想法 1.一致性级别 根据: 根据场景需要的读取一致性级别 针对读写延迟,您可以在上选择一致性级别 您的数据库帐户 您可以尝试最终将一致性级别设置为Azure流分析作业降级,同时将数据推送到cosmos DB,azure,azure-cosmosdb,azure-iot-hub,azure-stream-analytics,Azure,Azure Cosmosdb,Azure Iot Hub,Azure Stream Analytics,我有来自Azure IoT Hub->Stream Analytics->CosmosDB的推送数据 我有一个模拟设备,我的cosmos DB收集的1000 RU/s运行良好。 现在我已经制作了10台模拟设备,我的Cosmos DB收集扩展到15000 RU/s,但我的流分析仍然在降级 是否需要增加集合的并行连接数 我们能否使其更为优化,因为Cosmos DB的Azure定价取决于吞吐量和RU 我们能否使其更为优化,因为Cosmos DB的Azure定价取决于 吞吐量和RUs 我只想在这里与大家
。详情请参阅
2.索引:
根据文件:
默认情况下,Azure Cosmos DB在每个CRUD上启用同步索引
对您的收藏进行操作。这是另一个有用的控制选项
Azure Cosmos DB中的写入/读取性能
请尝试将索引设置为惰性。此外,删除无用的索引
3.分区:
根据:
Azure Cosmos DB unlimited是推荐的解决方案
在Azure Cosmos DB自动扩展时对数据进行分区
基于工作负载的分区。当写信给无限
容器、流分析使用的并行编写器数量与以前相同
查询步骤或输入分区方案
请对集合进行分区,并在输出中传递分区键以提高写入性能。现在,当我创建COSMOS DB集合时,我使用deviceId对其进行分区,而对于COSMOS DB,我现在使用默认索引。每条记录包含130个字段。当我想读取数据时,我所有的查询都取决于设备ID和时间(最后一小时和最后一天)。所以分区应该按设备ID和时间戳(转换为天)进行?当您在流分析中的sql查询中写入means时,该分区是什么?@AmjathKhan默认索引模式应为none,一致性级别默认值应为session。您可以调整它以查看是否有任何进展。@AmjathKhan我认为按deviceId分区是可以的。您可以调整其他2个因素,也许它优化了性能。我只是在这里分享文档中的官方建议。我已经删除了我使用的3个流作业单元和5000 RU/s cosmos DB集合的所有索引。我每秒发送的数据大小为38 KB/秒(总共20条消息),每条消息中有185个字段。这是最终的一致性,但它显示宇宙DB的吞吐量增加