The In-memory database, also known as a Main-memory database. (IMDB or MMDB).
As a Database Architecture, I like this topic and implementation in which data reside in a main memory area.
What is In-memory database?
In-memory database is one kind of database whose data stored in main memory for faster response and quick retrieval. The data loads into system memory in a compressed form.
The In-memory databases are faster than extensive disk-based databases because it doesn’t require any Disk I/O operations.
The internal algorithms are also simpler and require few CPU instructions.
Why not RDBMS Database Caching?
Most of RDBMS products provide a feature of database caching, but with the use of In-memory database, we should not have only one goal to avoid disk I/O.
The database caching we can use only for reading data and for writing data it requires again disk I/O, even managing database cache is also quite challenging and it also requires strong memory and CPU.
If a system or main memory crash, what happened?
Once power switch off for device, all stored information is also removed so we can say IMDB not support “durability” of the ACID property.
Most of the IMDB systems offer features like to take snapshots periodically and write to non-volatile media. If system crash or fail, database Rollback to last completed transaction.
We can also increase the durability of IMDB by adding one or more copy of the database.
We can also configure replication and failover procedure for IMDB systems.
What kind of applications typically uses In-memory database?
The IMDB system is one type of analytic database and utilised for the read-only system. It uses by Data warehouse and Data mart for accessing historical data. The real-time embedded system is also using an IMDB system for fast manipulation.
Other applications like IP-Network routing, telecom switching and DTH system are also using IMDB systems.