Azure中的数据处理体系结构

问题描述 投票:-1回答:1

要设计一种系统,其中许多传感器会将数据传输到事件中心。每个传感器每秒将传输大量数据(最大15-20(约5 KB))。

  • 一个用例是,所有这些原始数据都必须以最小/没有延迟的方式传输到cosmosDB,这在下面的体系结构中可以实现。

原始数据->事件中心-> Azure流分析-> CosmosDB

注:以上使用情况是确定传感器的连接状态。因此,必须尽快。

  • [另一个用例是传感器的指示属性,它取决于传感器的最后一个值(最大前200个值)。现在问题出在这里。我尝试使用以下架构。

原始数据->事件中心-> Azure流分析-> Azure功能-> CosmosDB

因此,流分析的输出将转到azure函数,在该函数中,它将从cosmosDB获得前200个值,然后进行必要的计算,然后将结果再次存储回cosmosDB。但是这个过程似乎很慢。

COSMOS DB CONTAINERS
//Sensor Property Container
{ 
  id: "sensor_id",
  connection:true, //This needs to be updated as soon as raw data is available
  indication:"RED" //This depends on previous 200 values from sensor
}

//Sensor Raw Value Container
{ 
  id: "sensor_id",
  rawData: "RAW_VALUE",
}

您可以在下面查看我实际正在寻找的图像。

Data Flow Image

[我还尝试在天蓝色的流分析中添加用户定义的函数以在其中运行算法,但它不支持cosmosDB作为参考数据。

azure-functions azure-cosmosdb iot azure-eventhub azure-stream-analytics
1个回答
0
投票

您应尝试将逻辑合并到Stream Analytics中。添加更多的运动部件总是会导致延迟。您可以对通过deviceId分组的每分钟收到的值进行计数吗?并在此计数低于预期时生成警报?

© www.soinside.com 2019 - 2024. All rights reserved.