Embedded Database Definition
An embedded database is a software library that is integrated into a program, rather than installed and configured as a separate service. In most cases, an embedded database hides in plain sight within an application to monitor, stream, and processes its data in real-time.
Embedded Database Selection Criteria
In general, the embedded database must process and understand real-time data, should be able to store time-series data, must perform queries efficiently, and—most importantly—must secure data. Here is a list of important selection criteria for most IoT edge and embedded systems data management requirements:
- Ability to track, analyze, and manage a significant amount of data
- Low latency and high throughput
- Data security and data protection solution
- Recovery time after a crash or power loss
- Continuous monitoring and streaming of real-time data
- Optimized for time series capture and query
- Built with the highest level of standards
- Ease of use and minimum effort to integrate
In contrast to traditional enterprise data management solutions, in which database administrators typically load and maintain a shared database instance, device manufacturers seek database software that developers silently embed data management capabilities into specific applications.
Embedded Database Performance and Footprint
Database performance is one of the major challenges in any development discipline, including embedded systems. By processing data closer to the source on the edge network, localized data traffic reduces the amount of data flowing to and from the primary network, leading to lower latency and better throughput. ITTIA DB offers exceptional performance with a highly concurrent database and offers applications to execute multiple queries and updates to the database at the same time.
Request a meeting and let us show you a live demonstration of how ITTIA DB compares against the available solutions.
Footprint has a distinct connotation when discussing memory consumption. Memory allocated on the heap (dynamic memory), resources loaded from disk, and other factors are frequently left out of memory footprint calculations. The application should optimize the static memory footprint for small size microcontrollers in the context of an embedded database library. ITTIA DB IoT is a microcontroller-oriented database with a small footprint and has completely configurable and tunable capabilities for today’s memory-constrained systems.
Embedded Database Security
Whether you are building a system for industrial automation, automotive, avionics or healthcare, the industrial evolution indicates that data management security is an important concern. Current security options for embedded systems focus primarily on protecting communications and restricting access to various Internet services. These precautions are necessary, but insufficient to rebuff sophisticated, multifaceted attacks against a network of connected devices. Some individual devices will eventually be compromised. The impact on other devices and services must be minimized through data management protection and a coherent model of trust.
ITTIA DB provides multiple layers of protection, including authentication, encryption, security protocols, and a system for intrusion detection and prevention. These security principles are proven and well established. In addition, data protection is achieved by addressing security in the early stages of software design with ITTIA Secure Development Lifecycle (SDL) and ITTIA DB Security Expert Agent Library (DB-SEAL). DB-SEAL is a virtual agent that monitors database responsibilities, input, and data metrics, in real-time, and responds by rejecting unexpected requests. It offers manufacturers of embedded system capabilities to stop database-driven attacks in which malicious code is inserted to exploit security vulnerabilities. Proactive monitoring of the data and database by DB-SEAL allows the device to issue an alert, block access, or shut down when data management metrics fall out of the expected range.
Embedded Database Stream Processing
As Edge computing provides a platform for deep data insights and predictive analysis in real time, device data processing capability gains attention for new ways to improve system productivity. Therefore, device manufacturers seek an Edge solution to perform the process of understanding and sharing information. They want to use the embedded intelligence of the devices to influence operational processes. They want their system to improve productivity by only extracting and sharing the most valuable information required to act and prevent issues.
Embedded database processing provides aggregation and manipulation of data directly on a device. This is a new way of offering computation on a physical device, making the Edge intelligent. The main advantage of processing on the Edge includes filtering data to select alarming information. For example, a device may need to know whether a temperature metric exceeds a safe threshold or need notification when a pressure metric is too low. Any information collected from the sensors may be essential to an important decision.
Meanwhile, Edge processing is a great supplement for the Cloud, since processing on the Edge does not involve storing the entire data set in one location. Local processing offloads only a small fraction of device data to the Cloud and related infrastructure. This is particularly useful when a large volume of data needs to be locally analyzed in real time, as it can often avoid storing every raw sample of captured data. Edge processing lowers the amount of data at risk, as there is less data to be intercepted during transit.
ITTIA provides data management and processing software for embedded devices. ITTIA DB enables manufacturers to silently embed powerful and reliable data management software for each device to securely collect, process, and distribute data in real-time. With ITTIA DB manufacturers can build real-time applications, make sense of data by continuously processing streams generated throughout the sensors, run live queries, and store information on the edge. They can process streams of events with joins, aggregations, and filters—to send alerts, process data for any required action, and more.
Embedded Database Concurrency and Standards
A solid foundation for multi-threaded and multi-process concurrency is an important aspect of database performance. Some embedded databases are intended for low concurrency settings with a small number of users and processes. ITTIA DB employs row-level multi-version concurrency control (MVCC) to improve the performance for a mix of select, insert, update, and delete actions. ITTIA DB's scalable locking options are designed to provide the flexibility developers need to get the desired performance.
Embedded Database Scalability
Because embedded devices require scalability, developers frequently use the same database files across different processes and apps. The inability of some of the embedded databases to scale for a large number of processes causes a significant performance barrier. The powerful shared cache design of ITTIA DB keeps the overhead of each database connection to a minimum.
Many database parameters can be tweaked to modify metrics like throughput and latency to achieve the greatest possible performance for a specific application on a given platform. ITTIA DB provides tuning parameters allowing developers to accomplish their goals.
Customers can learn about new modern solutions for effectively including a dependable secure embedded database by leveraging ITTIA’s engineering team experience and expertise. During a complimentary one-on-one interaction, ITTIA professionals will learn about your exact requirements and answer your specific application-related questions.