This MedLibrary.org supplementary page on In-memory database is provided directly from the open source Wikipedia as a service to our readers. Please see the note below on authorship of this content, as well as the Wikipedia usage guidelines. To search for other content from our encyclopedia supplement, please use the form below:
Related Sponsors
An in-memory database (IMDB; also main memory database system or MMDB) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems which employ a disk storage mechanism. Main memory databases can be faster than databases which rely on disk storage because the MMDB does not have to perform disk I/O to update or query its data.
Contents |
ACID Support
In their simplest form, main memory databases store data on volatile memory devices. These devices lose all stored information when the device loses power or is reset. In this case, MMDBs can be said to lack support for the durability portion of the ACID properties. Volatile memory-based MMDBs can, and often do, support the other three ACID properties of atomicity, consistency and isolation.
Many MMDBs add durability via the following mechanisms:
- Transaction Logging, which records changes to the database in a journal file and facilitates automatic recovery of an in-memory database.
- Non-volatile RAM, usually in the form of static RAM backed up with battery power (battery RAM), or an electrically erasable programmable ROM (EEPROM). With this storage, the MMDB system can recover the data store from its last consistent state upon reboot.
- High Availability implementations that rely on database replication, with automatic failover to an identical standby database in the event of primary database failure.
"Hybrid" In-Memory/On-Disk Databases
Technology emerged in approximately 2007 that combined in-memory and on-disk data storage in a single database system. The advantage to this approach, as stated by companies including McObject, Raima or Altibase, is flexibility: the developer can strike a balance between performance (which is enhanced by sorting, storing and retrieving specified data entirely in memory, rather than going to disk); cost, because a less expensive hard disk can be substituted for more memory; persistence; and form factor, because RAM chips cannot approach the density of a small hard drive.1
Manufacturing efficiency is another reason a combined in-memory/on-disk database system may be chosen. Some device product lines, especially in consumer electronics, include some units with permanent storage, and others that rely on memory for storage (set-top boxes, for example). If such devices require a database system, a manufacturer can adapt a hybrid database system at lower cost, and with less code customization, than using separate in-memory and on-disk databases, repectively, for its disk-less and disk-based products.2
Products
- Polyhedra DBMS
- DataBlitz
- TimesTen
- eXtremeDB (including hybrid eXtremeDB Fusion)
- CSQL (open source, middle-tier cache)
- solidDB
- FastDB (open source)
- MonetDB (open source)
- H2 (open source, in-memory)
- HSQLDB (open source, has a memory-only mode)
- MySQL has a cluster server which uses a main-memory storage engine
- QuiLogic
- RDM Embedded (including hybrid)
- RDM Server (including hybrid)
- Altibase (commercial product, has in-memory and disk table; HYBRID DBMS)
References
- ^ Cole, Bernard."Hybrid embedded database merges on-disk and in-memory data management", Embedded.com, February, 2007. Retrieved on August 15, 2008.
- ^ Graves, Steve. "Hybrid Data Management Gets Traction In Set-Top Boxes", Embedded.com, July, 2008. Retrieved on August 15, 2008.
External links
- Jack Belzer: Encyclopedia of Computer Science and Technology - Volume 14: Very Large Data Base Systems to Zero-Memory and Markov Information Source, Marcel Dekker Inc., ISBN 0-8247-2214-0
- Gorine, Andrei. Building durability into data management for real-time systems, Boards & Solutions, September, 2004
- run time access to data structures
- Martin Fowler wiki: InMemoryTestDatabase
- Sprint Project
- Article "Main Memory Database Systems: An Overview" by Hector Garcia-Molina and Kenneth Salem
- Citations from CiteSeer
Wikipedia content modification information:
- This page was last modified on 21 October 2008, at 18:14.
Wikipedia Authorship and Review
Wikipedia content provided here is not reviewed directly by MedLibrary.org. Wikipedia content is authored by an open community of volunteers and is not produced by or in any way affiliated with MedLibrary.org.
Wikipedia Usage Guidelines
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article on "In-memory database".
The URL for this specific entry is:
All Wikipedia text is available under the terms of the GNU Free Documentation License. (See Copyrights for details). Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc.
