Skip to content Skip to navigation

Real-Time Data Management for Small MCU Cache

The world of IoT is facing a problem. Edge devices and sensors are so prevalent that organizing incoming data is a challenge. Sensor readings are frequently out of order, resources heavily constrained, and debugging can be a nightmare. These problems are no issue for ITTIA, who’ve developed a solution for rapidly handling all your data at the edge. ITTIA DB IoT provides an API to handle every insertion, query and export of time-series data with ease and high performance. Below, I will walk you through some of the benefits and functionalities of this API and why it is needed.

Many applications require multiple databases, with varying schemas and performance. ITTIA DB IoT ensures high performance across each variation and allowing multiple connections to a database to be made. The features and APIs provided by ITTIA are all listed in their documentation. For example, each time-series database uses the following format for storing timestamps:

Year: Month : Day     Hour : Minute : Second : Microsecond

This format can scale across your application’s needs, with multiples of sensors recording in real-time with microsecond precision. However, let’s look at just two sensors - temperature and pressure. For our application, we can assume the data will follow the example below. Although we expect our storage to have some existing data to query, this isn’t always the case, as no records are stored if no sensor data is available. Edge cases like this impact your performance and highlight the value that ITTIA brings to the table. Notice below that only records with populated data are stored, saving your memory footprint.

ITTIA DB IoT uses a simple function to populate the database, allowing the programmer to easily ingest data out-of-order. Simply provide a handle to the open time series, a microsecond timestamp and its corresponding value and the data ingestion will be handled for you with little overhead.

No need to worry about corrupting or overwriting any existing data in your storage, ITTIA’s time series storage will implicitly overwrite the original value. For example, updates could occur when refining a running average during down sampling. Going back to the sample data, a later group of readings will appear like that below.

Given the small memory footprint of MCUs, and the variability of platforms that exist in the MCU market, the maximum amount of data that can be read is very important. ITTIA provides an elegant solution with their DB IoT, simply provide a buffer size, time range and array storage to make very fast, high throughput queries. For example, given a buffer size of 10 bytes to query 1000 characters will result in 100 query calls to read all the characters. If you’re further interested, you can request additional documentation for those functionalities.

Ingesting a lot of data is one challenge, but exporting it is a different dilemma. Handling specific formats introduce additional complexities and development time. Thankfully, ITTIA DB IoT provides support across JSON, CSV, XML and ProtoBuf2 formats. Easily export your query results to your specified format with very high throughput. Moreover, no need to worry about losing any data during large exports, ITTIA DB IoT ensures a thread safe execution will capture all your incoming data at the edge.

ITTIA DB IoT Free Trial Download