Transaction Processing Abstractions
This chapter discusses five software abstractions that are used heavily in TP systems:
■ Processes and threads
■ Remote procedure calls
■ Transaction context, sessions, and other techniques for managing shared state
■ Caching, resource pooling, partitioning, and replication
These abstractions involve both the application programming interface and mechanisms to support it. Understanding them is fundamental to developing and engineering a TP system.
We start with the transaction abstraction, where we focus on the semantics of the programming model. We present pseudocode that illustrates how a transaction is delimited and thus establishes the relationship between a program ...