Benefit of a Relational Embedded Database for Industrial Automation Systems |

Benefit of a Relational Embedded Database for Industrial Automation Systems

Benefit of a Relational Embedded Database for Industrial Automation Systems

By: Sasan Montaseri,  ITTIA – Founder

Developers and managers generally start their projects with a set of common questions. What are the important characteristics for selecting an embedded database for an industrial automation system?  What can a database offer beyond recovery from power failure, preventing data loss, or reducing flash media wear? What are the hidden costs when selecting an embedded database? 

Data management requirements vary from system to system, yet the fundamentals are always the same. Managing data requires an in-depth understanding of the interactions and activities of the remote and control components, and a know-how for avoiding performance bottlenecks and data loss. Increasing hardware capabilities make it possible to store more data on embedded devices than before. However, fast read and write operations for some of these multi-users systems become an important requirement.

Each application has its own operations that are critical to performance. Some rely heavily on write operations, which can insert, update, or delete data, while other focus on read operations, which involve both locating the desired information, and sometimes also fetching the data from a storage device, such as flash media.

An industrial control system must employ algorithms that combine and analyze a large amount of data in several simultaneous tasks, each with its own criteria for how to utilize the data. A popular concern about data management for industrial automation system is scalability. More often, a system’s data does not scale well as the data grows, and it becomes hard to handle the load of an increasing number of concurrent users. Many of these systems are in the field for a number of years so they need to be scalable and offer easy methods of generating reports in parallel to their data growth.  For example ITTIA DB SQL in industrial automation applications leverages enterprise data management features on embedded systems and devices independent of operating systems and architectures used.

A major benefit of a relational database is its ability to expand as the application and its data grows.  A relational database reveals connections among data that wouldn't be visible otherwise, no matter how much data is entered into the database, and how long it needs to be kept. Relational databases simply offer the general ability to generate reports and track the status of the system. That is why an effective embedded database must be fully relational, since it provides ease of use in four essential areas: performance, reliability, scalability, and low cost of maintainability.

Embedded relational databases are found in more and more applications as developers have discovered the importance of protecting, sharing, and organizing data both safely and efficiently. Features like automatic recovery and replication make applications more fault-tolerant, while tables, indexes, and constraints lend structure. When several tasks need access to the same set of data, especially if that data is stored in a file, database offers simple, efficient alternatives to threading primitives and file locking. Sharing a database between processes, or even across the network, can be as easy as accessing it directly.

Device applications usually perform many different tasks on data stored in the database. Some tasks perform best when run in parallel, allowing long-running tasks such as synchronization to happen without completely stopping normal operations. Tasks can be performed by a single application with multiple threads or instances, multiple applications on a device, or even remote applications across a network.

The data an application stores will often outlast the application itself. If the database design exactly mirrors the way data is represented in the application's working set, then it will be more difficult to change the application later, even if the initial implementation seems easier. Whether the developers plan to provide firmware updates or a migration path to new devices, they will be much less resistant to innovative changes if the database model is cleanly separated from the application model.

The relational database model has proven through decades of history to be the most versatile and maintainable model for storing persistent data. And while data stored in a non-relational database can be accessed through SQL, it binds you to the use of non-standard syntax, which in turn limits interoperability on a great scale. Using a relational design from the beginning leaves plenty of room for growth, both in your application and in the database.

In a database, information is stored in tables and indexes are used to retrieve data quickly. Index algorithms ensure that data can be retrieved in a reasonable amount of time, even when it must be located on slow persistent media, such as a hard drive or flash memory. When data is accessed one row at a time, strict limits on dynamic memory allocation can mitigate the risk of out-of-memory errors. By structuring data in a standard format, data retrieval errors are mitigated by applying these techniques universally throughout the device applications. Furthermore, in a relational database, tables are aware of each other, communicate and share data. Therefore, an end user of your system can easily search for related materials across multiple tables.

Another major problem lies in the fact that many developers assume the database cost is simplified in a proposal that a database vendor provides. This is often true for estimating the initial cost to implement an application. However, as the application is developed and deployed, there are serious hidden costs affecting the maintenance. Add to these concerns the complexities of learning a database, which can sometimes take months, and the possible quit of the developer who learned the product. In this latter situation, imagine the amount of time needed for learning the complex database API in addition to the complexity added by the first developer.

Certainly there are techniques and benefits that offer short-term advantages, but they play an important maintenance role in the future. Do the math for yourself, and calculate the maintenance cost for such a system. Your application will be so dependent on the database vendor that, after a short time, replacing a database will become a nightmare and, as a result, you’ll need to follow all the contractual and financial obligations presented by your database vendor, as you cannot easily replace the database. On the contrary, when you build your application with a fully relational database, replacement will not be difficult: you can easily train your new staff with the database, and the maintenance cost will be much more minimal. Your developer working with a relational database will follow a pattern that has been practiced for years, and there will be much less learning curve. You will be, therefore, less depended to the database vendor.


There is a clear need for advanced data management software in industrial automation systems.  Hence, there is a growing demand for embedded database as an important tool for addressing this need. Risk mitigation is an iterative process, as each decision has the potential to introduce new risks. Selecting the right embedded database is an important choice in ensuring that the total risk is minimized. Long-term maintenance and integration with other systems also benefit from support for relational standards, including SQL and ODBC.

About the Author
 Sasan Montaseri is the founder of ITTIA, a company focused on data management software solutions for embedded systems and intelligent devices. Sasan has worked directly with customers in industrial automation and other vertical markets to define ITTIA's database product roadmap and provide solutions to common data management problems faced by those customers. Under his guidance, ITTIA has grown from its inception to offer a data management solution to prestigious multinational customers throughout North America, Europe and Asia.

ITTIA, founded in 2000 has a rich history of innovation and growth as a data management company.   A relational embedded database is specifically designed for the constraints of mission critical systems, such as industrial automation.   ITTIA 's next generation embedded database technology, ITTIA DB SQL, delivers capabilities accumulated from decades of database evolution in a compact, self-managing package.   Today, ITTIA customers include market leaders such as Freescale Semiconductor, Panasonic, Puget Sound Energy, Fresenius, Boeing, Glaxo Smith Kline, and others.

Did you Enjoy this Article?

Check out our free e-newsletters
to read more great articles.

Subscribe Now