In-Memory and Persistent Database Management Systems
A powerful tool for the professional developer.
What is an in-memory database system?
An in-memory database system (IMDS) is a database management system that stores data entirely in main memory. This contrasts to traditional (on-disk/persistent) database systems, which are designed store data on persistent media. Because working with data in memory is much faster than writing to and reading from a file system, IMDSs can perform applications’ data management functions orders of magnitude faster. Because their design is typically simpler than that of persistent database systems, IMDSs can also impose significantly lower memory and CPU requirements.
What is a persistent database system?
In contrast, on-disk or persistent database systems cache frequently requested data in memory for faster access, but write database updates, insertions and deletes through the cache to be stored to disk. On the plus side, byte-for-byte, disk storage can be cheaper than RAM, and can also take less physical space when form factor is a consideration (e.g. handheld electronics).
A hybrid of the two
With some database systems, databases can be stored all-in-memory, all-persistent, or have a mix of in-memory tables and persistent tables. This flexibility enables developers to tailor data management in order to optimize applications for speed and persistence, and make intelligent trade-offs between cost-efficiency, power consumption, and physical space-conserving data storage hardware.
Simple architecture of in-memory database system.
Message path and data transfers in a persistent database system.
Using a true in-memory database system is critical to getting all the benefits from a hybrid solution. Understanding the distinction is critical to determining the performance, cost and ultimately the success or failure of a solution. Learn how to tell the difference between real and imitation in-memory database systems, and why it matters in our white paper: Will the Real IMDS Please Stand Up?
An in-memory database with transaction logging retains the high performance read characteristics and provides tune-able persistence while retaining much of the in-memory database insert/update/delete performance advantage.
eXtremeDB offers these options. Learn more about our hybrid database options.
IMDS and persistent database systems can be either embedded or client/server. Learn more about the options here.
Learn more about the eXtremeDB in-memory and persistent database management system.
Small. Fast. Reliable.
eXtremeDB was originally developed as an in-memory database, it minimizes stack and more.
Flexible in-memory and persistent architecture, multiple APIs, multiple database indexes, a wide range of supported data types and more.
ACID-compliant transactions, Transaction Logging, type-Safe API, advanced debugging, tracing tools and more.