第14讲-事务管理技术讲述.ppt
文本预览下载声明
Concurrency-control protocols allow concurrent schedules, but ensure that the schedules are conflict/view serializable, and are recoverable and cascadeless. Concurrency control protocols generally do not examine the precedence graph as it is being created Instead a protocol imposes a discipline 规则 that avoids nonseralizable schedules. We study such protocols later. Different concurrency control protocols provide different tradeoffs between the amount of concurrency they allow and the amount of overhead that they incur. Tests for serializability help us understand why a concurrency control protocol is correct. * 考虑如下图14-16所示的优先图,相应的(并发)调度是冲突可串行化的吗? 图14-16 调度优先图 (若你认为是,请给出一个等价的串行化调度) 一个等价的串行化调度: T1?T2?T3?T4?T5 或 T1?T2?T4?T3?T5 该调度是冲突可串行化的 因优先图中无有向环存在 依次去掉“仅有出弧”的事务节点 * 课程名称: 数据库系统 -------------------- A transaction is a unit of program execution that accesses and possibly updates various data items. A transaction must see a consistent database. During transaction execution the database may be temporarily inconsistent. When the transaction completes successfully (is committed), the database must be consistent. After a transaction commits, the changes it has made to the database persist, even if there are system failures. Multiple transactions can execute in parallel. Two main issues to deal with: Failures of various kinds,such as hardware failures and system crashes Concurrent execution of multiple transactions 原子性Atomicity. Either all operations of the transaction are properly reflected in the database or none are. 一致性Consistency. Execution of a transaction in isolation preserves the consistency of the database. 隔离性Isolation. Although multiple transactions may execute concurrently, each transaction must be unaware of other concurrently executing transactions. (Intermediate transaction results must be hidden from other concurrently executed transactions) That is, for every pair of transactions Ti and Tj , it appears to Ti that either Tj finished execution
显示全部