Recovery techniques for Main-Memory database system

Youngmi Yoon, Un-Gu Kang · 한국정보기술학회논문지 · 2005

In a Main Memory Database (MMDB) system, the primary copy of the database resides in volatile main memory as opposed to Disk Resident Database (DRDB) systems where the database is on disk. The perception of where the data resides is important. With an MMDB the DBMS software is designed assuming that the data is memory resident. With a DRDB the DMBS software is designed assuming the data is stored on disk and I/O is required to access the data [1]. MMDB systems need not perform I/O operations for database applications. Thus, they are ideal for applications that require high throughput and a fast response time. With the increasing demand for high-performance systems and the steady decrease in memory cost, MMDBs have become an attractive alternative to DRDBs [2]. This is especially the case for telephone switching applications, mobile computing applications and real-time systems, i.e, applications that require high throughput and fast response time [3]. Commercial 54-bit systems can support main memories of tens of gigabytes. It can be expected that the use of MMDB in an application requiring fast response time will be growing since larger volume of memory resident data allows faster processing of transactions Due to the volatility of main memory, MMDB complicates database recovery issues. Database recovery techniques ensures that any erroneous database state due to transaction, system, or media failure can be repaired and restored into a consistent state from which normal processing can resume. A main memory recovery algorithm, must do much more than the disk based recovery algorithm to guarantee atomicity, durability of transactions and database integrity without sacrificing the performance advantages of MMDB. This problem has been recognized and several techniques for MMDB recovery have been proposed. On this paper we described MMDB model, briefly mentioned various different .recovery techniques, and discussed log-based method and its components in detail. We focused on logging, checkpointing, and reloading.

Read the paper · More papers on PaperTik