Recovery

OUDB Faculty Sponsor OUDB Members DB Research Links Publications Tools

Previous Page

To prepare a RTDBMS for coping with failures, we have developed techniques to handle three recovery activities: logging, checkpointing, and reloading. The objectives of these techniques are to reduce recovery time, minimize the percentage of transactions missing their deadlines, and minimize the percentage of temporal data becoming invalid.

Our logging technique called Transaction Type Logging (TTL) takes transaction types and data types into consideration and employs both immediate and deferred update at the same time. Transactions are divided into six types depending on their characteristics. The logging scheme dynamically changes from performing no logging activities to performing either immediate or deferred update depending on the transaction types. We conducted an analytical study comparing the performance of TTL with that of the best technique called VILMB (Valid-Invalid Logging with Multiple Buffers using deferred update). The results showed that TTL reduces the REDO cost and number of memory references during normal operation in most cases at the cost of a slight increase of log space. When the amount of temporal data in the database exceeds 50%, the performance of TTL is consistently better than VILMB’s.

Our checkpoint scheme considers data partitioning, update frequency, temporal data valid interval, and data priority. The main memory database is divided into persistent and temporal data partitions with different update frequencies and valid intervals. Our algorithm checkpoints partitions of high update frequency, short temporal data valid intervals, and high data priority more often than other partitions. The simulation results showed that our technique outperforms the conventional fuzzy checkpoint algorithm. In the cases of high transaction load and system failure rate, our technique also outperforms the scheme that considers update frequency and temporal data valid interval, but not data priority.

We developed two reload algorithms, partition reload and data priority reload, for Real-Time Main Memory DataBases (RTMMDBs) that aim at minimizing the number of timing constraints violated in addition to reducing system recovery time. Common features of the proposed reload algorithms include: 1) the system is brought on-line before the entire database is reloaded into main memory in order to reduce down time, 2) transaction execution priorities are considered so that high priority transactions have more opportunities to meet their deadlines, and 3) data accessed frequently are reloaded before other data. The two reload algorithms differ from each other based on their choice of recovery unit and reload priority. In order to evaluate the performance of the proposed schemes, we conducted extensive simulations. The results show that: (1) The data priority reload algorithm, which considers transaction priority, data access frequency, reload prioritization, and preemption during reloading, provides a significant performance improvement over the conventional reload algorithm. (2) The system load, database size, and system failure rate determine whether the efficiency of different reload algorithms is crucial to the overall performance. (3) The key design factors of RTMMDB reload algorithms are system unavailability, transaction execution priority, reload threshold, and recovery unit.

 

For problems or questions regarding this web contact database@cs.ou.edu.