Foreword

This book unifies concurrency control and recovery for both the page and object models

It is likely to become the standard reference in out field for many years to come.

Preface

Teamwork is essential. It allows you to blame someone else. –Anonymous (kusa)

Book’s Mission

For 3 decades transaction procession has been a cornerstone of modern information technology: it is an indispensable asset in banking, stock trading, airlines, travel agencies, and so on.

Fortunately, the success of the transaction concept does not solely rely on clever system inplementations, but builds on and leverages scientifically rigorous foundations that have been developed in the research community.

For above reason this book emphasizes scientific fundamentals of long-term validity and value, and does not cover specific system products, which tend to become quickly outdated.

Organizations

The two key components of a transaction information system are concurrency control, to ensure the correctness of data when many clients simultaneously access shared data, and recovery, to protect the data against system failures.

In addition, the coordination of distributed transactions becomes a vital issue that will be covered in Part IV.

Chapter 1. What Is It All About?

If I had had more time, I could have written you a shorter letter.

There are two mistakes one can make along the road to truth–not going all the way, and not starting. –Buddha

  • Why transactions are a good idea
  • Why transactions form a reasonable abstraction concept for certain classes of real-life data management and related problems
  • What can and what cannot be done with the transaction concept

Online transaction processing, OLTP

The key problem that the transaction concept solves in a very elegant way is to cope tith the subtle and often difficult issues of keeping data consistent even in the presence of highly cuncurrent data accesses and despite all sorts of failures.

An additional key property of transactions is that this is achieved in a generic way that is essentially invisible to the application logic (and to application development), so that application developers are completely freed from the burden of dealing ith such system issues. This is why transactions are an abstract concept, and why this concept is a cornerstone of modern information technology.

Database System is the most important concrete instantiation of a transactional data server.

Conceptual properties of a transaction–namely, atomicity, durability, and isolation–together provide the key abstraction that allows application developers to disregard concurrency and failures, yet the transactional server guarantees the consistency of the underlying data and ultimately the correctness of the application.