In-memory(IMDB) Databases – Overview

An in-memory database (IMDB) relies on storing the data in main memory rather than regular storage models like disk system.

Database cache mechanisms might help but it will benefit the read of data and write still has to go to disk.

Another solution to host an entire database in RAM disk might not be that helpful as it still involves multiple transfers of data to/from copying to cache and thus increasing CPU cycles.

Advantages :

  • working with the data in memory is much faster than writing the data to and reading from a disk (fastest data retrieval speeds)
  • Overall reduction in CPU and memory requirements because they execute fewer CPU instructions (eliminates the seek times when querying the data)
  • Avoids the burden on FILE IO
  • performance gains of ~100 times observed with IMDBs as per various TPC benchmarks
  • Scalable up to 1TB range
  • It can be either embedded or client/server DBMS

Industry Scenarios:

  • Embedded applications, set-top boxes that have small memory & CPU footprint
  • algorithmic trading, e-commerce websites

Usage Scenarios:

  • Online betting company bwin was able to support 12000 bets/sec to 150000 bets/sec.
  • ConAgra use of SAP HANA helped deepter insights into analyssi

Durability property of ACID is maintained by usage of Snapshots, checkpoints, Transaction logs, HR solutions (replication, automatic fail over)

Some of popular in-memory databases are dashDB from IBM, MemSQL, SQLite, REDIS, SAP HANA, SQL Server Hekaton, Oracle EXASystems.

Interesting screenshot that captures Oracle in-memory technology with SAP HANA below :

Oracle vs SAP HANA




Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>