Getting Data out of the Platform
Aggregating Data
Data aggregation is a way to get data out of the Platform and is often a necessary component to a healthy IoT application. Within an application, there is usually more data generated than is necessary for human consumption and aggregation can help alleviate some of the issues caused by working with large amounts of data, but the following best practices can be followed to mitigate issues.
In mashups, the following issues may be caused by improper aggregation implementation:
• Slow mashup loading/rendering times
• Memory spikes when a mashup is opened by several users at the same time
Data Aggregation Best Practices
Data should be aggregated before binding it to widgets, especially when there are numerous data points per minute. Aggregation should be done before mashup load. Issues are often seen when aggregate or sort methods are performed within a query service.
Best practice dictates that data should be aggregated in advance, by storing it:
• In memory as non-persistent properties to reduce the persistence overhead and faster retrieval from memory
• In separate streams or data tables if persistence is required