skip to Main Content

I’m developing a IOT solution where data is sent each 15 seconds from the Edge devices to an Azure IOT hub.

I’m creating a real time dashboard in a web app and only need to keep the latest recieved data per device. Historic data is handled elsewhere.

I’ve considered using redis cache for this purpose, but is this a good use case for a redis cache or are there any other services in Azure that are better suited? Each key would be updated aprox each 15 seconds which makes me think it may be misuse.

2

Answers


  1. Redis in my experience is overkill for the price of running it on Azure. We have implemented Azure Storage table and blob successfully as a cache for events as part of data ingress processing many times now. Azure Storage has been used as a cache resources over a number of different services for many thousands of edge IOT devices reporting data every 1 min.

    As I am sure you are aware, Azure standard table storage has its limitations however, you can only index on the partition key and row key so you have to plan how you search for data to allow efficient implementation for access patterns. Also you can only pull 1000 records without paging but that should not be an issue for the cache other than the initial service startup.

    If cache performance is every an issue the you can upgrade to Premium Storage as an option now too since 2018. Note premium storage allows you to index any column, (is basically COSMOS DB in the background but surfaced as Azure Storage).

    Hope that provides something useful.

    COST COMPARISON

    Cost Comparison

    PERFORMANCE

    enter image description here

    Ref
    https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-performance-tiers

    Login or Signup to reply.
  2. Adding to Scott’s answer I am working on almost similar requirement where we need to show realtime telemetry from devices in a dashboard and along with historic trends. For realtime data Azure SignalR service looked like a good choice.Azure Function would push realtime data from IOT hub to Azure SignalR service which inturn would update dashboard over websockets. I am yet to work on filtering realtime data from Azure SignalR service based on deviceid.

    For near realtime (ie; latency of 10 secs) or historic data Azure Time Series Insights was used.Looks like you have some solution for historic so probably for real-time you can evaluate if Azure SignalR service would help or not.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search