Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery

Weikum, Gerhard; Vossen, Gottfried

In stock
Regular price 50.500 KD inc. VAT
License
Table of contents
  • Cover
  • Copyright Pagevi
  • Contentsxi
  • Forewordix
  • Prefacexxi
  • Part One: Background and Motivation1
  • Chapter 1. What Is It All About?3
  • 1.1 Goal and Overview3
  • 1.2 Application Examples4
  • 1.3 System Paradigms16
  • 1.4 Virtues of the Transaction Concept22
  • 1.5 Concepts and Architecture of Database Servers27
  • 1.6 Lessons Learned37
  • Exercises38
  • Bibliographic Notes38
  • Chapter 2. Computational Models41
  • 2.1 Goal and Overview41
  • 2.2 Ingredients42
  • 2.3 The Page Model43
  • 2.4 The Object Model47
  • 2.5 Road Map of the Book53
  • 2.6 Lessons Learned56
  • Exercises56
  • Bibliographic Notes57
  • Part Two: Concurrency Control59
  • Chapter 3. Concurrency Control: Notions of Correctness for the Page Model61
  • 3.1 Goal and Overview61
  • 3.2 Canonical Concurrency Problems62
  • 3.3 Syntax of Histories and Schedules65
  • 3.4 Correctness of Histories and Schedules71
  • 3.5 Herbrand Semantics of Schedules73
  • 3.6 Final State Serializability76
  • 3.7 View Serializability82
  • 3.8 Conflict Serializability92
  • 3.9 Commit Serializability105
  • 3.10 An Alternative Correctness Criterion: Interleaving Specifications108
  • 3.11 Lessons Learned119
  • Exercises120
  • Bibliographic Notes121
  • Chapter 4. Concurrency Control Algorithms125
  • 4.1 Goal and Overview125
  • 4.2 General Scheduler Design126
  • 4.3 Locking Schedulers130
  • 4.4 Nonlocking Schedulers166
  • 4.5 Hybrid Protocols175
  • 4.6 Lessons Learned179
  • Exercises180
  • Bibliographic Notes182
  • Chapter 5. Multiversion Concurrency Control185
  • 5.1 Goal and Overview185
  • 5.2 Multiversion Schedules186
  • 5.3 Multiversion Serializability189
  • 5.4 Limiting the Number of Versions201
  • 5.5 Multiversion Concurrency Control Protocols203
  • 5.6 Lessons Learned213
  • Exercises214
  • Bibliographic Notes215
  • Chapter 6. Concurrency Control on Objects: Notions of Correctness217
  • 6.1 Goal and Overview217
  • 6.2 Histories and Schedules218
  • 6.3 Conflict Serializability for Flat Object Transactions223
  • 6.4 Tree Reducibility228
  • 6.5 Sufficient Conditions for Tree Reducibility233
  • 6.6 Exploiting State Based Commutativity240
  • 6.7 Lessons Learned246
  • Exercises247
  • Bibliographical Notes250
  • Chapter 7. Concurrency Control Algorithms on Objects251
  • 7.1 Goal and Overview251
  • 7.2 Locking for Flat Object Transactions251
  • 7.3 Layered Locking252
  • 7.4 Locking on General Transaction Forests259
  • 7.5 Hybrid Algorithms265
  • 7.6 Locking for Return Value Commutativity and Escrow Locking267
  • 7.7 Lessons Learned271
  • Exercises272
  • Bibliographic Notes274
  • Chapter 8. Concurrency Control on Relational Databases277
  • 8.1 Goal and Overview277
  • 8.2 Predicate-Oriented Concurrency Control278
  • 8.3 Relational Update Transactions285
  • 8.4 Exploiting Transaction Program Knowledge299
  • 8.5 Lessons Learned308
  • Exercises308
  • Bibliographic Notes311
  • Chapter 9. Concurrency Control on Search Structures313
  • 9.1 Goal and Overview313
  • 9.2 Implementation of Search Structures by B+ Trees315
  • 9.3 Key Range Locking at the Access Layer320
  • 9.4 Techniques for the Page Layer327
  • 9.5 Further Optimizations340
  • 9.6 Lessons Learned344
  • Exercises345
  • Bibliographic Notes347
  • Chapter 10. Implementation and Pragmatic Issues349
  • 10.1 Goal and Overview349
  • 10.2 Data Structures of a Lock Manager349
  • 10.3 Multiple Granularity Locking and Dynamic Escalation352
  • 10.4 Transient Versioning354
  • 10.5 Nested Transactions for Intra-transaction Parallelism357
  • 10.6 Tuning Options359
  • 10.7 Overload Control369
  • 10.8 Lessons Learned374
  • Exercises375
  • Bibliographic Notes375
  • Part Three: Recovery377
  • Chapter 11. Transaction Recovery379
  • 11.1 Goal and Overview379
  • 11.2 Expanded Schedules with Explicit Undo Operations381
  • 11.3 Correctness Criteria for the Page Model385
  • 11.4 Sufficient Syntactic Conditions390
  • 11.5 Page Model Protocols for Schedules with Transaction Aborts402
  • 11.6 Correctness Criteria for the Object Model407
  • 11.7 Object Model Protocols for Schedules with Transaction Aborts419
  • 11.8 Lessons Learned420
  • Exercises421
  • Bibliographic Notes423
  • Chapter 12. Crash Recovery: Notion of Correctness427
  • 12.1 Goal and Overview427
  • 12.2 System Architecture and Interfaces430
  • 12.3 System Model434
  • 12.4 Correctness Criterion437
  • 12.5 Road Map of Algorithms439
  • 12.6 Lessons Learned444
  • Exercises444
  • Bibliographic Notes445
  • Chapter 13. Page Model Crash Recovery Algorithms447
  • 13.1 Goal and Overview447
  • 13.2 Basic Data Structures449
  • 13.3 Redo-Winners Paradigm453
  • 13.4 Redo-History Paradigm501
  • 13.5 Lessons Learned518
  • Exercises526
  • Bibliographic Notes528
  • Chapter 14. Object Model Crash Recovery531
  • 14.1 Goal and Overview531
  • 14.2 Conceptual Overview of Redo-History Algorithms532
  • 14.3 A Simple Redo-History Algorithm for Two-Layered Systems536
  • 14.4 An Enhanced Redo-History Algorithm for Two-Layered Systems545
  • 14.5 A Complete Redo-History Algorithm for General Object Model Executions552
  • 14.6 Lessons Learned556
  • Exercises558
  • Bibliographic Notes560
  • Chapter 15. Special Issues of Recovery561
  • 15.1 Goal and Overview561
  • 15.2 Logging and Recovery for Indexes and Large Objects562
  • 15.3 Intra-transaction Savepoints and Nested Transactions571
  • 15.4 Exploiting Parallelism during Restart577
  • 15.5 Special Considerations for Main-Memory Data Servers580
  • 15.6 Extensions for Data-Sharing Clusters583
  • 15.7 Lessons Learned589
  • Exercises589
  • Bibliographic Notes591
  • Chapter 16. Media Recovery593
  • 16.1 Goal and Overview593
  • 16.2 Log-Based Method596
  • 16.3 Storage Redundancy606
  • 16.4 Disaster Recovery618
  • 16.5 Lessons Learned620
  • Exercises621
  • Bibliographic Notes621
  • Chapter 17. Application Recovery623
  • 17.1 Goal and Overview623
  • 17.2 Stateless Applications Based on Queues625
  • 17.3 Stateful Applications Based on Queues632
  • 17.4 Workflows Based on Queues637
  • 17.5 General Stateful Applications642
  • 17.6 Lessons Learned667
  • Exercises668
  • Bibliographic Notes669
  • Part Four: Coordination of Distributed Transactions671
  • Chapter 18. Distributed Concurrency Control673
  • 18.1 Goal and Overview673
  • 18.2 Concurrency Control in Homogeneous Federations676
  • 18.3 Distributed Deadlock Detection686
  • 18.4 Serializability in Heterogeneous Federations690
  • 18.5 Achieving Global Serializability through Local Guarantees698
  • 18.6 Ticket-Based Concurrency Control702
  • 18.7 Object Model Concurrency Control in Heterogeneous Federations708
  • 18.8 Coherency and Concurrency Control for Data-Sharing Systems710
  • 18.9 Lessons Learned716
  • Exercises717
  • Bibliographic Notes719
  • Chapter 19. Distributed Transaction Recovery723
  • 19.1 Goal and Overview723
  • 19.2 The Basic Two-Phase Commit Algorithm725
  • 19.3 The Transaction Tree Two-Phase Commit Algorithm744
  • 19.4 Optimized Algorithms for Distributed Commit748
  • 19.5 Lessons Learned763
  • Exercises765
  • Bibliographic Notes766
  • Part Five: Applications and Future Perspectives769
  • Chapter 20. What Is Next?771
  • 20.1 Goal and Overview771
  • 20.2 What Has Been Achieved?771
  • 20.3 Data Replication for Ubiquitous Access776
  • 20.4 E-Services and Workflows779
  • 20.5 Performance and Availability Guarantees783
  • Bibliographic Notes787
  • References791
  • Index829
  • About the Authors853
Book details
  • Vendor Elsevier S & T
  • SKU 9781558605084
  • ISBN-13 9780080519562
  • Author Weikum, Gerhard; Vossen, Gottfried
  • Category Computers
  • Subject Information Technology

Do you have questions about this book?

Ask an expert!



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.