In the industry’s first test of in-memory database system (IMDS) speed and recoverability using the emerging Non-Volatile DIMM (NVDIMM) technology, McObject and AgigA Tech, a subsidiary of Cypress Semiconductor Corp. announced McObject has successfully benchmarked its eXtremeDB IMDS using AgigA Tech’s AGIGARAM NVDIMM as main memory storage. The tests included “pulling the plug” mid-execution, which confirmed the AGIGARAM product’s ability to save data persistently in the event of system failure, and to facilitate recovery.
AgigA Tech's battery-free AGIGARAM NVDIMM combines standard DRAM with NAND flash and an ultracapacitor power source. When a system operates normally, AGIGARAM provides all the capabilities of high speed DRAM. But in the event of power loss, the ultracapacitor provides a burst of electricity used to write main memory contents to the NAND flash chip, where it can be held virtually indefinitely, with the AGIGARAM NVDIMM restoring data from NAND flash to DRAM upon system recovery.
McObject tested eXtremeDB using AgigA Tech’s 4 GB AGIGARAM DDR3 NVDIMM for main memory storage, on an Intel Oak Creek Canyon reference motherboard equipped with a Intel Pentium Dual Core CPU 1407 @ 2.8 GHz processor, as well as 8 GB of conventional memory. The benchmark application measured speed in separate tests of database inserts, updates, deletes, index searches and table traversals. In each test, the AGIGARAM NVDIMM delivered speed comparable to the results obtained using conventional memory. To test response to failure, the system was re-booted during execution. Upon re-start, the test application launched automatically, accessed the database in its pre-failure state (upon recovery, the AGIGARAM NVDIMM had loaded it from flash into its DRAM), checked for database consistency and resumed operation.
Test application code enabling database recovery leveraged an eXtremeDB feature that supports the IMDS’s use with battery-backed RAM. It enables a process to re-connect to an NVRAM-hosted eXtremeDB database, initiate any needed cleanup, and resume normal operation after a system reboots. An application’s recovery algorithm assumes that the memory block of the database memory device assigned as MCO_MEMORY_ASSIGN_DATABASE can be re-used after a crash or power failure by re-opening it as an existing database.
See McObject’s report, Benchmarking In-Memory & On-Disk Databases With Hard-Disk, SSD and Memory-Tier NAND Flash .