Checkpointing and rollback recovery are well-known techniques for handling failures in distributed systems. The issues related to the design and implementation of efficient checkpointing and recovery techniques for distributed systems have been thoroughly understood. For example, the necessary and sufficient conditions for a set of checkpoints to be part of a consistent global checkpoint has been established for distributed computations. In this paper, we address the analogous question for distributed database systems. In distributed database systems, transaction-consistent global checkpoints are useful not only for recovery from failure but also for audit purposes. If each data item of a distributed database is checkpointed independently by a separate transaction, none of the checkpoints taken may be part of any transaction-consistent global checkpoint. However, allowing individual data items to be checkpointed independently results in non-intrusive checkpointing. In this paper, we establish the necessary and sufficient conditions for the checkpoints of a set of data items to be part of a transaction-consistent global checkpoint of the distributed database. Such conditions can also help in the design and implementation of non-intrusive checkpointing algorithms for distributed database systems.
|Number of pages
|Published - Sep 29 2009
Bibliographical noteFunding Information:
The authors thank the editor and the reviewers for their valuable and constructive comments which helped greatly in improving the content and presentation of the paper. This material is based in part upon work supported by the US Department of Treasury Award #TOS05060 and the US National Science Foundation Grant No. IIS-0414791. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation or the Department of Treasury.
- Distributed databases
ASJC Scopus subject areas
- Information Systems and Management
- Artificial Intelligence
- Theoretical Computer Science
- Control and Systems Engineering
- Computer Science Applications