Chapter 15 Crash resilience and persistent data

Objectives

To extend the definition of "atomic operation" to include an operation on data held in persistent store. To consider the possibility that a crash might occur at any time and to consider how this should be taken into account in system design. To outline approaches to implementing atomic operations on persistent data in the presence of concurrency and crashes.

Points to emphasise

The techniques already covered in Part 2 have solved the problem of atomicity (of a single operation invocation on data in main memory) in the presence of concurrency. We assume the DBMS or PPL will control concurrent access to shared persistent data.

Possible difficulties

To restrict the discussion to one operation invocation on one object to introduce the concepts as simply as possible.

Teaching hints