[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.