NOTE: We are upgrading our eBook operations; please allow up to 1-2 days for delivery of your eBook order.
»
Transactional Information Systems
 
 

Transactional Information Systems, 1st Edition

Theory, Algorithms, and the Practice of Concurrency Control and Recovery

 
Transactional Information Systems, 1st Edition,Gerhard Weikum,Gottfried Vossen,ISBN9781558605084
 
 
 

  &      

Morgan Kaufmann

9781558605084

852

235 X 187

Print Book

Hardcover

In Stock

Estimated Delivery Time
USD 143.00
 
 

Key Features

* Provides the most advanced coverage of the topic available anywhere--along with the database background required for you to make full use of this material.
* Explores transaction processing both generically as a broadly applicable set of information technology practices and specifically as a group of techniques for meeting the goals of your enterprise.
* Contains information essential to developers of Web-based e-Commerce functionality--and a wide range of more "traditional" applications.
* Details the algorithms underlying core transaction processing functionality.

Description



Transactional Information Systems is the long-awaited, comprehensive work from leading scientists in the transaction processing field. Weikum and Vossen begin with a broad look at the role of transactional technology in today's economic and scientific endeavors, then delve into critical issues faced by all practitioners, presenting today's most effective techniques for controlling concurrent access by multiple clients, recovering from system failures, and coordinating distributed transactions.


The authors emphasize formal models that are easily applied across fields, that promise to remain valid as current technologies evolve, and that lend themselves to generalization and extension in the development of new classes of network-centric, functionally rich applications. This book's purpose and achievement is the presentation of the foundations of transactional systems as well as the practical aspects of the field what will help you meet today's challenges.

Readership

Database designers and programmers.

Gerhard Weikum

Gerhard Weikum is Professor of Computer Science at University of the Saarland in Saarbruecken, Germany, where he leads a research group on database and information systems. His research has focused on parallel and distributed information systems, transaction processing and workflow management, database optimization and performance evaluation, multimedia data management, and intelligent search on Web data.

Gottfried Vossen

Gottfried Vossen is Professor of Computer Science and a Director of the Institür für Wirtschaftsinformatik, Universität Münster (Department of Information Systems, University of Muenster, Germany). His research in the area of object-based database systems has dealt primarily with models for data and objects, database languages, transaction processing, integration with scientific applications, XML and its applications, and workflow management.

Affiliations and Expertise

Institür für Wirtschaftsinformatik, Universität Münster, Department of Information Systems, University of Muenster, Germany

Transactional Information Systems, 1st Edition

Foreword by


Gray, Microsoft, Inc.


Preface


PART ONE - BACKGROUND AND MOTIVATION



Chapter 1 What Is It All About?



1.1 Goal and Overview

1.2 Application Examples

1.2.1 Online Transaction Processing: Debit/Credit Example

1.2.2 Electronic Commerce Example

1.2.3 Workflow Management: Travel Planning Example

1.3 System Paradigms

1.3.1 Three-Tier and Two-Tier Architectures

1.3.2 Federations of Servers

1.4 Virtues of the Transaction Concept

1.4.1 Transaction Properties and the Transaction Programming Interface

1.4.2 Requirements on Transactional Servers

1.5 Concepts and Architecture of Database Servers

1.5.1 Architectural Layers of Database Systems

1.5.2 How Data Is Stored

1.5.3 How Data Is Accessed

1.5.4 How Queries and Updates Are Executed

1.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 2 Computational Models



2.1 Goal and Overview

2.2 Ingredients

2.3 The Page Model

2.4 The Object Model

2.5 Road Map of the Book

2.6 Lessons Learned

Exercises

Bibliographic Notes



PART TWO - CONCURRENCY CONTROL



Chapter 3 Concurrency Control: Notions of Correctness for the Page Model



3.1 Goal and Overview

3.2 Canonical Concurrency Problems

3.3 Syntax of Histories and Schedules

3.4 Correctness of Histories and Schedules

3.5 Herbrand Semantics of Schedules

3.6 Final State Serializability

3.7 View Serializability

3.7.1 View Equivalence and the Resulting Correctness Criterion

3.7.2 On the Complexity of Testing View Serializability

3.8 Conflict Serializability

3.8.1 Conflict Relations

3.8.2 Class CSR

3.8.3 Conflicts and Commutativity

3.8.4 Restrictions of Conflict Serializability

3.9 Commit Serializability

3.10 An Alternative Correctness Criterion: Interleaving Specifications

3.11 Lessons Learned

Exercises
Bibliographic Notes



Chapter 4 Concurrency Control Algorithms



4.1 Goal and Overview

4.2 General Scheduler Design

4.3 Locking Schedulers

4.3.1 Introduction

4.3.2 The Two-Phase Locking Protocol

4.3.3 Deadlock Handling

4.3.4 Variants of 2PL

4.3.5 Ordered Sharing of Locks

4.3.6 Altruistic Locking

4.3.7 Non-Two-Phase Locking Protocols

4.3.8 On the Geometry of Locking

4.4 Nonlocking Schedulers

4.4.1 Timestamp Ordering

4.4.2 Serialization Graph Testing

4.4.3 Optimistic Protocols

4.5 Hybrid Protocols

4.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 5 Multiversion Concurrency Control



5.1 Goal and Overview

5.2 Multiversion Schedules

5.3 Multiversion Serializability

5.3.1 Multiversion View Serializability

5.3.2 Testing Membership in MVSR

5.3.3 Multiversion Conflict Serializability

5.4 Limiting the Number of Versions

5.5 Multiversion Concurrency Control Protocols

5.5.1 The MVTO Protocol

5.5.2 The MV2PL Protocol

5.5.3 The MVSGT Protocol

5.5.4 A Multiversion Protocol for Read-Only Transactions

5.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 6 Concurrency Control on Objects: Notions of Correctness



6.1 Goal and Overview

6.2 Histories and Schedules

6.3 Conflict Serializability for Flat Object Transactions

6.4 Tree Reducibility

6.5 Sufficient Conditions for Tree Reducibility

6.6 Exploiting State Based Commutativity

6.7 Lessons Learned

Exercises

Bibliographical Notes



Chapter 7 Concurrency Control Algorithms on Objects



7.1 Goal and Overview

7.2 Locking for Flat Object Transactions

7.3 Layered Locking

7.4 Locking on General Transaction Forests

7.5 Hybrid Algorithms

7.6 Locking for Return Value Commutativity and Escrow Locking

7.7 Lessons Learned

Exercises

Bibliographic Notes



Chapter 8 Concurrency Control on Relational Databases



8.1 Goal and Overview

8.2 Predicate-Oriented Concurrency Control

8.3 Relational Update Transactions

8.3.1 Syntax and Semantics

8.3.2 Commutativity and Simplification Rules

8.3.3 Historiesand Final State Serializability

8.3.4 Conflict Serializability

8.3.5 Extended Conflict Serializability

8.3.6 Serializability in the Presence of Functional Dependencies

8.3.7 Summary

8.4 Exploiting Transaction Program Knowledge

8.4.1 Motivating Example

8.4.2 Transaction Chopping

8.4.3 Applicability of Chopping

8.5 Lessons Learned

Exercises

Bibliographic Notes



Chapter 9 Concurrency Control on Search Structures



9.1 Goal and Overview

9.2 Implementation of Search Structures by B+ Trees

9.3 Key Range Locking at the Access Layer

9.4 Techniques for the Page Layer

9.4.1 Lock Coupling

9.4.2 Link Technique

9.4.3 Giveup Technique

9.5 Further Optimizations

9.5.1 Deadlock-Free Page Latching

9.5.2 Enhanced Key Range Concurrency

9.5.3 Reduced Locking Overhead

9.5.4 Exploiting Transient Versioning

9.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 10 Implementation and Pragmatic Issues



10.1 Goal and Overview

10.2 Data Structures of a Lock Manager

10.3 Multiple Granularity Locking and Dynamic Escalation

10.4 Transient Versioning

10.5 Nested Transactions for Intra-transaction Parallelism

10.6 Tuning Options

10.6.1 Manual Locking

10.6.2 SQL Isolation Levels

10.6.3 Short Transactions

10.6.4 Limiting the Level of Multiprogramming

10.7 Overload Control

10.7.1 Feedback-Driven Method

10.7.2 Wait-Depth Limitation

10.8 Lessons Learned

Exercises

Bibliographic Notes



PART THREE - RECOVERY



Chapter 11 Transaction Recovery



11.1 Goal and Overview

11.2 Expanded Schedules with Explicit Undo Operations

11.2.1 Intuition and Overview of Concepts

11.2.2 The Formal Model

11.3 Correctness Criteria for the Page Model

11.3.1 Expanded Conflict Serializability

11.3.2 Reducibility and Prefix Reducibility

11.4 Sufficient Syntactic Conditions

11.4.1 Recoverability

11.4.2 Avoiding Cascading Aborts

11.4.3 Strictness

11.4.4 Rigorousness

11.4.5 Log Recoverability

11.5 Page Model Protocols for Schedules with Transaction Aborts

11.5.1 Extending Two-Phase Locking for Strictness and Rigorousness

11.5.2 Extending Serialization Graph Testing for Log Recoverability

11.5.3 Extending Other Protocols for Log Recoverability

11.6 Correctness Criteria for the Object Model

11.6.1 Aborts in Flat Object Schedules

11.6.2 Complete and Partial Aborts in General Object Model Schedules

11.7 Object Model Protocols for Schedules with Transaction Aborts

11.8 Lessons Learned

Exercises

Bibliographic Notes



Chapter 12 Crash Recovery: Notion of Correctness



12.1 Goal and Overview

12.2 System Architecture and Interfaces

12.3 System Model

12.4 CorrectnessCriterion

12.5 Road Map of Algorithms

12.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 13 Page Model Crash Recovery Algorithms



13.1 Goal and Overview

13.2 Basic Data Structures

13.3 Redo-Winners Paradigm

13.3.1 Actions during Normal Operation

13.3.2 Simple Three-Pass Algorithm

13.3.3 Enhanced Algorithm: Log Truncation, Checkpoints, Redo Optimization

13.3.4 The Complete Algorithm: Handling Transaction Aborts and Undo Completion

13.4 Redo-History Paradigm

13.4.1 Actions during Normal Operation

13.4.2 Simple Three-Pass and Two-Pass Algorithms

13.4.3 Enhanced Algorithms: Log Truncation, Checkpoints, and Redo Optimization

13.4.4 Complete Algorithms: Handling Transaction Rollbacks and Undo Completion

13.5 Lessons Learned

13.5.1 Putting Everything Together

Exercises

Bibliographic Notes



Chapter 14 Object Model Crash Recovery



14.1 Goal and Overview

14.2 Conceptual Overview of Redo-History Algorithms

14.3 A Simple Redo-History Algorithm for Two-Layered Systems

14.3.1 Actions during Normal Operation

14.3.2 Steps during Restart

14.4 An Enhanced Redo-History Algorithm for Two-Layered Systems

14.5 A Complete Redo-History Algorithm for General Object Model Executions

14.6 Lessons Learned

Exercises

Bibliographic Notes



Chapter 15 Special Issues of Recovery



15.1 Goal and Overview

15.2 Logging and Recovery for Indexes and Large Objects

15.2.1 Logical Log Entries for the Redo of Index Page Splits

15.2.2 Logical Log Entries and Flush Ordering for Large-Object Operations

15.3 Intra-transaction Savepoints and Nested Transactions

15.4 Exploiting Parallelism during Restart

15.5 Special Considerations for Main-Memory Data Servers

15.6 Extensionsfor Data-Sharing Clusters

15.7 Lessons Learned

Exercises

Bibliographic Notes



Chapter 16 Media Recovery



16.1 Goal and Overview

16.2 Log-Based Method

16.2.1 Database Backup and Archive Logging during Normal Operation

16.2.2 Database Restore Algorithms

16.2.3 Analysis of the Mean Time to Data Loss

16.3 Storage Redundancy

16.3.1 Techniques Based on Mirroring

16.3.2 Techniques Based on Error-Correcting Codes

16.4 Disaster Recovery

16.5 Lessons Learned

Exercises

Bibliographic Notes



Chapter 17 Application Recovery



17.1 Goal and Overview

17.2 Stateless Applications Based on Queues

17.3 Stateful Applications Based on Queues

17.4 Workflows Based on Queues

17.4.1 Failure-Resilient Workflow State and Context

17.4.2 Decentralized Workflows Based on Queued Transactions

17.5 General Stateful Application

17.5.1 Design Considerations

17.5.2 Overview of the Server Reply Logging Algorithm

17.5.3 Data Structures

17.5.4 Server Logging during Normal Operation

17.5.5 Client Logging during Normal Operation

17.5.6 Log Truncation

17.5.7 Server Restart

17.5.8 Client Restart

17.5.9 Correctness Reasoning

17.5.10 Applicability to Multi-tier Architectures

17.6 Lessons Learned

Exercises

Bibliographic Notes



PART FOUR - COORDINATION OF DISTRIBUTED TRANSACTIONS



Chapter 18 Distributed Concurrency Control



18.1 Goal and Overview

18.2 Concurrency Control in Homogeneous Federations

18.2.1 Preliminaries

18.2.2 Distributed 2PL

18.2.3 Distributed TO

18.2.4 Distributed SGT

18.2.5 Ootimistic Protocols

18.3 Distributed Deadlock Detection

18.4 Serializability in Heterogeneous Federations

18.4.1 Global Histories

18.4.2 Global Serializability

18.4.3 Quasi Serializability

18.5 Achieving Global Serializability through Local Guarantees

18.5.1 Rigorousness

18.5.2 Commitment Ordering

18.6 Ticket-Based Concurrency Control

18.6.1 Explicit Tickets for Forcing Conflicts

18.6.2 Implicit Tickets

18.6.3 Mixing Explicit and Implicit Tickets

18.7 Object Model Concurrency Control in Heterogeneous Federations

18.8 Coherency and Concurrency Control for Data-Sharing Systems

18.9 Lessons Learned

Exercises

Bibliographic Notes



Chapter 19 Distributed Transaction Recovery



19.1 Goal and Overview

19.2 The Basic Two-Phase Commit Algorithm

19.2.1 2PC Protocol

19.2.2 Restart and Termination Protocol

19.2.3 IndependentvRecovery

19.3 The Transaction Tree Two-Phase Commit Algorithm

19.4 Optimized Algorithms for Distributed Commit

19.4.1 Presumed-Abort and Presumed-Commit Protocols

19.4.2 Read-Only Subtree Optimization

19.4.3 Coordinator Transfer

19.4.4 Reduced Blocking

19.5 Lessons Learned

Exercises

Bibliographic Notes



PART FIVE - APPLICATIONS AND FUTURE PERSPECTIVES



Chapter 20 What Is Next?



20.1 Goal and Overview

20.2 What Has Been Achieved?

20.2.1 Ready-to-Use Solutions for Developers

20.2.2 State-of-the-Art Techniques for Advanced System Builders

20.2.3 Methodology and New Challenges for Researchers

20.3 Data Replication for Ubiquitous Access

20.4 E-Services and Workflows

20.5 Performance and Availability Guarantees

Bibliographic Notes



References



Index



About the Authors

Quotes and reviews

@qu:"This book is a major advance for transaction processing. It gives an in-depth presentation of both the theoretical and practical aspects of the field, and is the first to present our new understanding of multi-level (object model) transaction processing. It's likely to become the standard reference in our field for many years to come."
@source:—Jim Gray, Microsoft
 
 
Free Shipping
NOTE: We are upgrading our eBook operations; please allow up to 1-2 days for delivery of your eBook order.