[Bernstein09] Chapter 2. Transaction Processing Abstractions
来源:百度文库 编辑:神马文学网 时间:2024/04/28 04:35:07
Chapter 2. Transaction Processing Abstractions
Introduction
Transactions
Processes and Threads
Remote Procedure Call
Shared State
Scalability
Summary
2.1. Introduction
This chapter discusses five software abstractions that are used heavily in TP systems:
-
Transactions
-
Processes and threads
-
Remote procedure calls
-
Transaction context, sessions, and other techniques for managing shared state
-
Caching, resource pooling, partitioning, and replication
Theseabstractions involve both the application programming interface andmechanisms to support it. Understanding them is fundamental todeveloping and engineering a TP system.
Westart with the transaction abstraction, where we focus on the semanticsof the programming model. We present pseudocode that illustrates how atransaction is delimited and thus establishes the relationship betweena program and the TP infrastructure. This sets the stage to discuss thesignificant abstractions relevant to that infrastructure-processes,threads, and remote procedure call-where the focus shifts from theprogramming model to how the mechanisms work. Then we present the mainabstractions involved in state management, which are at the core of theleading programming and deployment models used in transactionalmiddleware. Finally, we talk about abstractions that are used toenhance the performance and scalability of TP applications: caching ofstate; pooling of sessions, threads, and other resources; andpartitioning and replication of databases and server processes.