Implementation and evaluation of the C-ARIES database recovery algorithm - Mach, Cong Tam (2010)
Nowadays, database management systems are widely used by organizations to store invaluable information as well as to provide an effective method for modifying and retrieving this information. In order to maintain reliability and consistency of such data during system failure, a recovery algorithm is used. One of the most well-known database recovery algorithms is the Algorithm for Recovery and Isolation Exploiting Semantics (ARIES), which is widely implemented in both commercial systems (e.g. IBM's DB2 Universal Database, IBM's Lotus Notes, etc.) and non-commercial systems. Based on ARIES's idea, C-ARIES is introduced to support transaction aborts as well as crash recovery in a highly concurrency manner. Moreover, this adaptation of ARIES also allows normal processing to recommence while crash recovery is still ongoing. However, C-ARIES was not implemented nor tested in any database system before. In order to verify its commercial viability, a prototype implementation and performance evaluation with respect to ARIES is desired. To evaluate C-ARIES's feasibility, some experiments have been conducted to compare C-ARIES's run-time overhead and recovery performance with its original algorithm. The results con rm that C-ARIES incurs almost the same logging overhead and provides much better recovery performance than ARIES. Furthermore, the system's throughput is quite reasonable during crash recovery processing. These results are highly encouraging and con rm C-ARIES's merit.