Oracle 12c in the storage database vs MemSQL

Data management: How main memory databases work

In the past, database management systems have used hard drives for data storage because of their large capacity. Main memories were used as a buffer memory (cache) in order to temporarily store frequently requested data and to have it quickly available on request. Main Memory Database Management Systems (MMDBMS) turn this around. You store all or a large part of the data in the main memory and the hard disk is only used as secondary storage to protect data against power failures. MMDBMS have much faster response times than traditional disk-based systems. This is due to the much shorter times for accessing the data in the main memory. Overall, MMDBMS enable extremely fast response times to large amounts of data, provided that the data stock fits into the main memory, and support the SQL query language as well as extensions for data and text mining.

Interplay of numerous technologies

The increasing importance of main memory databases is already proven by some commercial systems, such as SAP HANA, EXASolution, Parstream or the research prototype Hyper from Germany. Selected international providers are MonetDB, IBM Blu, Oracle 12c, MemSQL, Microsoft Hekaton and HP Vertica. MySQL offers a main memory backend based on heap tables. The MySQL cluster is a parallel MMDBMS that ensures ACID properties through high availability (replication).

MMDBMS secure ACID properties even in the event of a power failure. An MMDBMS primarily manages the data in the main memory, but if it fails, the important ACID property "Durability" would be violated. Most MMDBMS therefore secure ACID properties using one of the following mechanisms:

Transaction logging: Here the changes to data records are written in parallel to the main memory in a journal file; the file is often located on a rapidly rotating disk array or on solid-state discs (SSDs). The file enables automatic recovery in an MMDBMS. One variant are append-only systems that do not overwrite changes, but append them to the end of the table and mark the new date with a time stamp. In the case of queries, the DBMS only accesses these new entries and deletes older entries asynchronously. For example, the SAP HANA system manages transactions in a special differential memory and transfers them regularly to a column-oriented data memory.

  1. ESG Elektroniksystem- und Logistik-GmbH, F├╝rstenfeldbruck
  2. ulrich GmbH & Co. KG, Ulm

Non-volatile RAM memory (NVRAM): This memory is usually in the form of a static battery RAM (battery RAM) or an electrically erasable programmable ROM (EEPROM). With this method, the MMDBMS can restore the last consistent state on restart.

High availability implementations: They are based on database replication with an automatic failover protocol to an identical standby database, which the system uses in the event of an error.

Disc-is-the-new-tape: For reasons of cost in particular, very large data was and is usually saved on tape for archiving. Much faster disc-based storage is used in RDBMS for transactional (OLTP) and analytical workloads (OLAP) and even faster main storage is used as a cache. MMDBMS move this hierarchy closer to the CPU, disc-based storage now has an archive and logging function in the MMDBMS. OLTP and OLAP workloads take place in the main memory, and the significantly faster CPU cache is now used to analyze data. This elimination of the main optimization factor I / O costs enables completely new optimization principles. Their complex interaction enables the enormous speed advantage of MMDBMS compared to more disc-based DBMS.

  1. 1
  2. 2
  3. 3
  4. 4