In-memory database systems, NVDIMMs and data durability
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.