In-memory database systems, NVDIMMs and data durability

Steve Graves -July 23, 2014

Application example: IMDS and Industrial Controller

In an industrial control system, integration of an IMDS within a controller supports a ‘flattened’ control system architecture in which data is stored and processed, and some control decisions occur, at the level of individual controllers; in the opposing (and traditional) hierarchical system architecture, data stored at the controller level is typically limited to control variables.
Database management system (DBMS) software is increasingly common in electronics, spurred by growing data management demands within technology ranging from communications equipment to avionics gear and industrial controllers, and facilitated by these devices’ increasing on-board CPU, RAM and storage resources. The size of on-device databases varies, ranging from a few gigabytes of data to support a telecom billing/credit system’s rating and balance management application, to 10+ GB for an IP router’s control plane database, and more than 100 GB for a telecom call routing database.

And DBMSs – once associated almost entirely with business, desktop and Web-based applications – have evolved to meet the needs of today’s electronics. Designers often turn to in-memory database systems (IMDSs), which store records in main memory, eliminating sources of latency such as caching and file management that are hard-wired into DBMSs that store data persistently on hard disk or flash (these sources of latency are shown in Figure 1, below). As a result, IMDSs perform orders of magnitude faster than traditional “on-disk” DBMSs; their simpler design minimizes demand for CPU cycles, permitting the use of less powerful – and less costly – processors.

Figure 1. Sources of latency in a traditional (on-disk) database system.

Volatility, however, is sometimes a concern. In the event of power loss or system failure, main memory’s contents are gone. Some applications can tolerate this risk. For example, a RAM-based electronic programming guide stored in a set-top box will be lost if power fails, but can be re-built quickly with information from the cable head-end or satellite transponder. However, other electronics require a higher level of database durability and recoverability. For example, some medical devices require a record of vital signs over time, to support clinical decisions – this data can’t just vanish in the event of power failure. Network routers and switches store configuration data persistently, usually in flash. Keeping this configuration data in memory would make sense, to facilitate faster rebooting – but the data would need to be recoverable. Also challenged by DRAM’s volatity are scanners that “read” fingerprints or faces, and match these with biometric data in an on-device IMDS, in order to grant or deny access to secured facilities. If the access control system goes down, it must recover quickly.

Loading comments...

Write a Comment

To comment please Log In