Quantcast
Viewing all articles
Browse latest Browse all 6

In-memory, (hybrid) memory-centric DBMS — three analytic glossary draft entries

These are three closely-related draft entries for the DBMS2 analytic glossary. Please comment with any ideas you have for their improvement!

1. We coined the term memory-centric data management to comprise several kinds of technology that manage data in RAM (Random Access Memory), including:

  • In-memory DBMS (DataBase Management Systems).
  • Hybrid memory-centric DBMS.
  • Other kinds of in-memory data stores, such as:
    • Caching layers.
    • In-memory data stores that are tightly tied to specific analytic tools, for example the in-memory data management part of QlikView.
  • Complex event/stream processing.

Related link

2. An in-memory DBMS is a DBMS designed under the assumption that substantially all database operations will be performed in RAM (Random Access Memory). Thus, in-memory DBMS form a subcategory of memory-centric data management systems.

Ways in which in-memory DBMS are commonly different from those that query and update persistent storage include:

  • Data access processes which include a larger number of individually cheaper steps. In-memory database access is orders of magnitude cheaper than disk access, so it’s not as important to minimize the number of accesses.
  • Reduced locking. At RAM speeds, the cost of database locks can be significant, so in-memory DBMS are designed to minimize their use.

If what otherwise appears to be an in-memory DBMS routinely queries data from disk, then we refer to it as being hybrid memory-centric. However, even true in-memory DBMS may copy data into persistent storage, so as to keep it safe.

Examples of in-memory DBMS include:

  • SAP HANA.
  • Oracle TimesTen.
  • IBM TM1.
  • Several NewSQL systems, such as VoltDB.
  • Several NoSQL systems, such as Citrusleaf.

3. Hybrid memory-centric DBMS is our term for a DBMS that has two modes:

  • In-memory.
  • Querying and updating (or loading into) persistent storage.

It is difficult to make the boundaries of this category precise, because:

  • Almost any DBMS runs faster when the entire database is kept in RAM (Random Access Memory).
  • For some DBMS, especially in high-volume short-request processing use cases, it is a best practice to keep one’s entire data working set in RAM.

That said, we prefer to reserve the term “hybrid memory-centric” for DBMS designed according to the same principles as in-memory DBMS, for example IBM solidDB.

Hybrid memory-centric DBMS form a subcategory of memory-centric data management systems.


Viewing all articles
Browse latest Browse all 6

Trending Articles