High-Performance Embedded Database Designed for Microcontrollers – ITTIA DB

1. Introduction

Edge network device applications must acquire, process, and understand data points at high sampling rates.MCU (Microcontroller) is a key component of many embedded systems, increasingly responsible for capturing, processing, and managing the data flowing through them. This process begins at the local device, and manufacturers are seeking innovative opportunities to understand and monetize every bit of data they can collect.

MCU real-time data acquisition and management face several challenges. To overcome these obstacles, we designed ITTIA DB IoT, which executes interactive queries on data streams, filtering, aggregating, splitting, and merging data points before data storage or transmission. ITTIA DB IoT is an embedded database small enough to run on microcontrollers and allows developers to choose data management functions that meet their needs: stream processing, time-series data management, or relational table data management.

Applications can initiate new data collection activities at any time and receive continuous updates or end activities before querying final results. In this way, data transfer is reduced, but important information needed for decision-making is prioritized. ITTIA DB IoT includes the database functions required for deploying and managing extended edge devices and their data workloads. It combines lightweight data management and processing capabilities, specifically designed for microcontrollers to meet the needs of running data workloads in resource-constrained, field-deployed devices.

ITTIA DB developers work with chip companies to provide commercial-grade databases for embedded system manufacturers. In this white paper, we will share the challenges and issues that ITTIA DB IoT addresses for MCU application developers.

2. Advantages of ITTIA DB for MCU Microcontrollers

Including RAM (Random Access Memory), ROM (Read-Only Memory), and Flash Media (Flash Memory), most MCUs have very limited computational resources. RAM is volatile memory used for temporarily storing data; ROM is non-volatile memory for permanently storing instructions; Flash is a re-writable location for permanently storing data. RAM, ROM, and Flash are essential for any MCU software (including real-time databases). Therefore, the amount of data and limited resources play a crucial role in the MCU environment, and application developers strive to extract value from the data computation on the device. With the advent of IoT (Internet of Things) and AI (Artificial Intelligence) applications leveraging this data, MCU databases become increasingly important for data-driven embedded systems with limited resources. When designing ITTIA DB IoT, we paid close attention to ensuring that applications can run smoothly in constrained environments while occupying minimal RAM and ROM space.

3. Real-Time Data Collection Activities

Real-time data must be processed and delivered immediately after collection. When data is used for navigation, tracking, measurement, etc., there should be no delays in data timeliness. For MCUs, these data need to utilize real-time databases for processing. The influx of real-time data from sensors and other data sources can lead to data congestion, and delays in data transmission needed for decision-making.

Real-time data collection and management present several challenges. To overcome these obstacles, we designed ITTIA DB IoT, which executes interactive queries on data streams, filtering, aggregating, splitting, and merging data points before data storage or transmission.

Applications can initiate new data collection activities at any time, receive continuous updates, or end activities before querying final results. This way, data transfer is reduced, but important information needed for decision-making is prioritized.

4. Real-Time Data Streams and Monitoring

For MCUs, real-time analytics means a large number of data points must be continuously received, indexed, analyzed, and transmitted or stored on the MCU. Depending on the specified queries, data points can be monitored, searched, filtered, aggregated, and processed. By using MCU specific ITTIA DB IoT, developers can create firmware applications that dynamically aggregate, filter, split, and merge real-time data into a series of processed events. This way, sensor devices can perform ongoing analytics, understanding every piece of raw data, identifying alert events, and publishing and storing valuable findings.

5. Data Classification and Organization

The main goal of combining ITTIA DB IoT with MCU applications is to organize data and benefit from data classification. Data classification is the process of grouping data based on its quality and characteristics, then assigning class labels that describe the attributes of the matching data set.

In the absence of any restrictions, this is a well-known practice. The purpose of doing so is to assign meaningful class attributes to unstructured raw data and to be able to organize and extract insights from a collection of data points. ITTIA DB IoT queries facilitate classification by analyzing the source of each data point.

6. Storing Clean Data

With the advent of IoT and AI, like many other computing systems, MCUs must ingest large amounts of data and only store important data after cleaning the raw data.

What does MCU data cleaning mean? Ensuring data is reliable, consistent, and useful is referred to as data cleaning. Through ITTIA DB IoT, MCU applications can clean data, either discarding some data before storage or deleting old data through data retention policies. The benefits of clean data are numerous. When multiple data sources combine into a single data set, MCU level data cleaning eliminates a large amount of unwanted raw data storage and reduces power costs associated with data transmission.

7. Time-Series Data Management

Embedded system applications typically store various data points sampled at different rates. As an embedded time-series database, ITTIA DB IoT is optimized to store and access related timestamp-value pairs. Therefore, MCU applications can effectively measure values from sensing devices, effectively query any combination of captured data points, and analyze how they change over time. The primary value of ITTIA DB IoT time-series is that MCU applications can monitor, store, and analyze real-time data at every point.

8. Data Integrity and Scalability

As the data generated by IoT devices increasingly impacts the decision-making process, it becomes increasingly important for MCU devices to make timely, confident, and accurate decisions. The data generated by sensors and other devices tightens the connection between operations and decision-making components. With data-driven diagnostics being used to support system intelligence and decision-making capabilities, their integrity is essential. Moreover, as machine learning and artificial intelligence are increasingly used to support decision-making, data integrity becomes even more critical. To ensure that AI models accurately reflect the reality predicted by the system, they must be based on high-quality training data, and their inferences must be supported by high-quality operational data.

ITTIA DB IoT ensures data integrity by storing and processing data according to the data model specified by MCU application designers. When storing data, write operations are carefully ordered to prevent data corruption.

Furthermore, ITTIA DB IoT only enables data features and functionalities when additional resources are available, providing device manufacturers a pathway to extend STM32 applications to different computing levels.

9. Accuracy, Completeness, Consistency, and Validity

Data quality is crucial for data governance activities in embedded systems, quantifying the extent to which data sets meet accuracy, completeness, and validity requirements. Databases built for MCUs provide the data quality required for systems to make data-driven decisions.

Only when the quality of data meets its designed usage requirements can embedded systems trust the data from MCU and leverage it to make better decisions.

However, when a principle is not met, databases designed for MCU can help diagnose potential bad data. As manufacturers increasingly turn to the integration of automation and artificial intelligence, data quality and databases become increasingly important.

10. Data Ownership

MCU devices generate data at the edge at an exponential rate. Data is very important, and due to cost, performance, and privacy considerations, processing large amounts of data in a single location is becoming increasingly impractical. Utilizing the appropriate edge database, it is more desirable and feasible to shift computing closer to the data source rather than transferring all raw data to a compute-rich centralized location. MCU databases can become a natural extension of cloud computing with great cost-saving potential. When features such as data ownership, low latency, reduced bandwidth consumption, offline or autonomous operation, and compliance with regulatory or security standards based on physical location are combined, MCU data management systems become more attractive.

11. Security: Encryption, Authentication, and Authorized Data Access

IoT amplifies the security challenges of embedded systems because devices must be interconnected and communicate, as well as connect and communicate with the internet. This provides new opportunities for intruders and botnets, making unprotected data stored on IoT devices vulnerable to attacks. What measures can you take to protect device data? Databases with multi-layer protection can provide encryption and support for hardware security layers. These security principles have been validated, and proven to be reliable.

12. Performance and Footprint

IoT device applications often perform many different tasks on the data stored in databases. Some tasks perform well when running in parallel, allowing long-running activities (such as synchronization) to complete without first stopping normal operations. Tasks can be executed by a single application with multiple threads or tasks.

Database performance and footprint are major challenges faced by any MCU development. Processing data closer to the source can reduce the amount of data flowing in and out of the main network, thus lowering latency and increasing throughput.

ITTIA DB IoT for MCUs provides development flexibility, enabling you to design data models, database schemas, and application code to solve complex queries with high performance and small footprint.

ITTIA DB IoT is a high-concurrency database that provides multiple queries for applications, supporting simultaneous reading and updating of the database.

13. Affordability

For MCUs, traditional file data management and free open-source solutions can be expensive, primarily because customizing databases and integrating them with real-time operating systems, hardware, etc., involves significant upfront expenditures. It may require high costs to pay for associated integration and customization fees. In contrast, using ITTIA DB IoT can reduce initial and long-term costs. ITTIA DB IoT is a dedicated database built for MCUs that quietly embeds into devices and runs on them. Furthermore, as large amounts of data are processed and managed locally on the device, it saves substantial cloud data storage. Real-time data queries may also eliminate the need to transfer data from devices to other systems and clouds, resulting in significant cost savings.

14. Integration Challenges

Developing embedded MCU applications presents a series of unique difficulties, including scalability, real-time performance guarantees, integration, and interoperability issues, among others.

Applications created for MCUs are often components of larger systems, examples include digital watches, smartphones, cars, and industrial automation equipment. These systems typically integrate data management software, real-time operating systems, hardware, IDEs, and other components. Regarding databases, it is necessary to respond immediately to all situations within the specified time frame while operating under constraints of memory, processing power, and energy availability.

Moreover, as processors, sensors, and other hardware components may change over time, embedded software must be able to adapt to changes in the working environment. Meeting autonomy and portability standards for embedded software is very challenging. Ensuring that all different components work effectively together is a key challenge. This is not a simple task, and manufacturers must be constantly careful in choosing databases that can integrate with other software and hardware.

15. ITTIA DB IoT for MCU

ITTIA DB IoT is a member of the ITTIA DB family specifically designed for MCUs, supporting time-series, relational tables, and data streams, which can all be implemented in a single portable software library. Developers have the freedom to choose any combination of these features. ITTIA DB IoT is designed for real-time data processing and management for various data points, including metrics, events, logs, etc. High performance, small footprint, and adaptability are key features of ITTIA DB IoT.

16. Conclusion

Whether significantly improving the productivity of autonomous robots, real-time tracking of building temperatures, or monitoring personal health, manufacturers urgently need reliable data management solutions. As product demands and hardware evolve, the need for data management becomes increasingly apparent. A wide variety of microcontrollers can benefit from the embedded edge database ITTIA DB IoT.

ITTIA DB IoT enables manufacturers to closely monitor data management and processing from design and development to deployment and production.

Contact us now to learn how ITTIA DB IoT effectively addresses your MCU data management challenges.

17. Disclaimer

The information in this document is for the use of system and software implementers of ITTIA products. This agreement does not grant any express or implied copyright license to design or implement any database management system software based on the information in this document. ITTIA reserves the right to make changes to any products described herein without notice.

ITTIA makes no representations or warranties regarding the suitability of its products for any particular purpose and assumes no liability for any damages arising from the application or use of any product and expressly disclaims any and all liability, including but not limited to consequential or incidental damages. The statistics and parameters provided in ITTIA’s white papers and data sheets may vary in different applications, and actual performance may change over time.

All operational parameters must be verified by the customer’s technical experts for each customer application. ITTIA and the ITTIA logo are trademarks or registered trademarks of ITTIA L.L.C. in the United States and other countries. All other product or service names are the property of their respective owners.

Copyright (c) 2023 ITTIA L.L.C. The mention of ITTIA products and services in this document does not imply that ITTIA intends to offer them in every country.

18. Contact Us

ITTIA China Partner — Shanghai Yisuo Information Technology Co., Ltd.

021-64886750

www.yisuworld.com

[email protected]

Leave a Comment

Your email address will not be published. Required fields are marked *