Book 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.
- 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.
Table of contents
- Cover (1/2)
- Cover (2/2)
- Copyright Page
- Foreword
- Contents (1/2)
- Contents (2/2)
- Preface (1/2)
- Preface (2/2)
-
Part One: Background and Motivation
-
Chapter 1. What Is It All About?
- 1.1 Goal and Overview
- 1.2 Application Examples (1/3)
- 1.2 Application Examples (2/3)
- 1.2 Application Examples (3/3)
- 1.3 System Paradigms (1/2)
- 1.3 System Paradigms (2/2)
- 1.4 Virtues of the Transaction Concept
- 1.5 Concepts and Architecture of Database Servers (1/2)
- 1.5 Concepts and Architecture of Database Servers (2/2)
- 1.6 Lessons Learned
- Exercises
- Bibliographic Notes
- Chapter 2. Computational Models
-
Chapter 1. What Is It All About?
-
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 (1/2)
- 3.3 Syntax of Histories and Schedules (2/2)
- 3.4 Correctness of Histories and Schedules
- 3.5 Herbrand Semantics of Schedules
- 3.6 Final State Serializability (1/2)
- 3.6 Final State Serializability (2/2)
- 3.7 View Serializability (1/2)
- 3.7 View Serializability (2/2)
- 3.8 Conflict Serializability (1/3)
- 3.8 Conflict Serializability (2/3)
- 3.8 Conflict Serializability (3/3)
- 3.9 Commit Serializability
- 3.10 An Alternative Correctness Criterion: Interleaving Specifications (1/3)
- 3.10 An Alternative Correctness Criterion: Interleaving Specifications (2/3)
- 3.10 An Alternative Correctness Criterion: Interleaving Specifications (3/3)
- 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 (1/8)
- 4.3 Locking Schedulers (2/8)
- 4.3 Locking Schedulers (3/8)
- 4.3 Locking Schedulers (4/8)
- 4.3 Locking Schedulers (5/8)
- 4.3 Locking Schedulers (6/8)
- 4.3 Locking Schedulers (7/8)
- 4.3 Locking Schedulers (8/8)
- 4.4 Nonlocking Schedulers (1/2)
- 4.4 Nonlocking Schedulers (2/2)
- 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 (1/3)
- 5.3 Multiversion Serializability (2/3)
- 5.3 Multiversion Serializability (3/3)
- 5.4 Limiting the Number of Versions
- 5.5 Multiversion Concurrency Control Protocols (1/2)
- 5.5 Multiversion Concurrency Control Protocols (2/2)
- 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 (1/2)
- 6.5 Sufficient Conditions for Tree Reducibility (2/2)
- 6.6 Exploiting State Based Commutativity (1/2)
- 6.6 Exploiting State Based Commutativity (2/2)
- 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 (1/2)
- 7.3 Layered Locking (2/2)
- 7.4 Locking on General Transaction Forests (1/2)
- 7.4 Locking on General Transaction Forests (2/2)
- 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 (1/2)
- 8.2 Predicate-Oriented Concurrency Control (2/2)
- 8.3 Relational Update Transactions (1/3)
- 8.3 Relational Update Transactions (2/3)
- 8.3 Relational Update Transactions (3/3)
- 8.4 Exploiting Transaction Program Knowledge (1/2)
- 8.4 Exploiting Transaction Program Knowledge (2/2)
- 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 (1/2)
- 9.3 Key Range Locking at the Access Layer (2/2)
- 9.4 Techniques for the Page Layer (1/3)
- 9.4 Techniques for the Page Layer (2/3)
- 9.4 Techniques for the Page Layer (3/3)
- 9.5 Further Optimizations
- 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 (1/2)
- 10.6 Tuning Options (2/2)
- 10.7 Overload Control
- 10.8 Lessons Learned
- Exercises
- Bibliographic Notes
-
Chapter 3. Concurrency Control: Notions of Correctness for the Page Model
-
Part Three: Recovery
-
Chapter 11. Transaction Recovery
- 11.1 Goal and Overview
- 11.2 Expanded Schedules with Explicit Undo Operations
- 11.3 Correctness Criteria for the Page Model
- 11.4 Sufficient Syntactic Conditions (1/3)
- 11.4 Sufficient Syntactic Conditions (2/3)
- 11.4 Sufficient Syntactic Conditions (3/3)
- 11.5 Page Model Protocols for Schedules with Transaction Aborts
- 11.6 Correctness Criteria for the Object Model (1/3)
- 11.6 Correctness Criteria for the Object Model (2/3)
- 11.6 Correctness Criteria for the Object Model (3/3)
- 11.7 Object Model Protocols for Schedules with Transaction Aborts
- 11.8 Lessons Learned
- Exercises
- Bibliographic Notes
- Chapter 12. Crash Recovery: Notion of Correctness
-
Chapter 13. Page Model Crash Recovery Algorithms
- 13.1 Goal and Overview
- 13.2 Basic Data Structures
- 13.3 Redo-Winners Paradigm (1/10)
- 13.3 Redo-Winners Paradigm (2/10)
- 13.3 Redo-Winners Paradigm (3/10)
- 13.3 Redo-Winners Paradigm (4/10)
- 13.3 Redo-Winners Paradigm (5/10)
- 13.3 Redo-Winners Paradigm (6/10)
- 13.3 Redo-Winners Paradigm (7/10)
- 13.3 Redo-Winners Paradigm (8/10)
- 13.3 Redo-Winners Paradigm (9/10)
- 13.3 Redo-Winners Paradigm (10/10)
- 13.4 Redo-History Paradigm (1/4)
- 13.4 Redo-History Paradigm (2/4)
- 13.4 Redo-History Paradigm (3/4)
- 13.4 Redo-History Paradigm (4/4)
- 13.5 Lessons Learned (1/2)
- 13.5 Lessons Learned (2/2)
- 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 (1/2)
- 14.3 A Simple Redo-History Algorithm for Two-Layered Systems (2/2)
- 14.4 An Enhanced Redo-History Algorithm for Two-Layered Systems (1/2)
- 14.4 An Enhanced Redo-History Algorithm for Two-Layered Systems (2/2)
- 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 (1/2)
- 15.2 Logging and Recovery for Indexes and Large Objects (2/2)
- 15.3 Intra-transaction Savepoints and Nested Transactions (1/2)
- 15.3 Intra-transaction Savepoints and Nested Transactions (2/2)
- 15.4 Exploiting Parallelism during Restart
- 15.5 Special Considerations for Main-Memory Data Servers
- 15.6 Extensions for Data-Sharing Clusters (1/2)
- 15.6 Extensions for Data-Sharing Clusters (2/2)
- 15.7 Lessons Learned
- Exercises
- Bibliographic Notes
- Chapter 16. Media Recovery
-
Chapter 17. Application Recovery
- 17.1 Goal and Overview
- 17.2 Stateless Applications Based on Queues (1/2)
- 17.2 Stateless Applications Based on Queues (2/2)
- 17.3 Stateful Applications Based on Queues
- 17.4 Workflows Based on Queues
- 17.5 General Stateful Applications (1/5)
- 17.5 General Stateful Applications (2/5)
- 17.5 General Stateful Applications (3/5)
- 17.5 General Stateful Applications (4/5)
- 17.5 General Stateful Applications (5/5)
- 17.6 Lessons Learned
- Exercises
- Bibliographic Notes
-
Chapter 11. Transaction Recovery
-
Part Four: Coordination of Distributed Transactions
-
Chapter 18. Distributed Concurrency Control
- 18.1 Goal and Overview
- 18.2 Concurrency Control in Homogeneous Federations (1/2)
- 18.2 Concurrency Control in Homogeneous Federations (2/2)
- 18.3 Distributed Deadlock Detection
- 18.4 Serializability in Heterogeneous Federations (1/2)
- 18.4 Serializability in Heterogeneous Federations (2/2)
- 18.5 Achieving Global Serializability through Local Guarantees
- 18.6 Ticket-Based Concurrency Control (1/2)
- 18.6 Ticket-Based Concurrency Control (2/2)
- 18.7 Object Model Concurrency Control in Heterogeneous Federations
- 18.8 Coherency and Concurrency Control for Data-Sharing Systems (1/2)
- 18.8 Coherency and Concurrency Control for Data-Sharing Systems (2/2)
- 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 (1/4)
- 19.2 The Basic Two-Phase Commit Algorithm (2/4)
- 19.2 The Basic Two-Phase Commit Algorithm (3/4)
- 19.2 The Basic Two-Phase Commit Algorithm (4/4)
- 19.3 The Transaction Tree Two-Phase Commit Algorithm
- 19.4 Optimized Algorithms for Distributed Commit (1/3)
- 19.4 Optimized Algorithms for Distributed Commit (2/3)
- 19.4 Optimized Algorithms for Distributed Commit (3/3)
- 19.5 Lessons Learned
- Exercises
- Bibliographic Notes
-
Chapter 18. Distributed Concurrency Control
- Part Five: Applications and Future Perspectives
- References (1/8)
- References (2/8)
- References (3/8)
- References (4/8)
- References (5/8)
- References (6/8)
- References (7/8)
- References (8/8)
- Index (1/5)
- Index (2/5)
- Index (3/5)
- Index (4/5)
- Index (5/5)
- About the Authors
Product information
- Title: Transactional Information Systems
- Author(s):
- Release date: May 2001
- Publisher(s): Morgan Kaufmann
- ISBN: 9780080519562
You might also like
book
Managing and Using Information System
This brief, but complete, paperback builds a basic framework for the relationships among business strategy, information …
book
Information Systems Project Management
Information Systems Project Management addresses project management in the context of information systems. It deals with …
book
Strategic Information Management, 3rd Edition
'Strategic Information Management' has been completely up-dated to reflect the rapid changes in IT and the …
book
Application Performance Management (APM) in the Digital Enterprise
Application Performance Management (APM) in the Digital Enterprise enables IT professionals to be more successful in …