《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 15 Concurrency Control

Outline Lock-Based Protocols Timestamp-Based Protocols Validation-Based Protocols Multiple Granularity Multiversion Schemes Insert and Delete Operations Concurrency in Index Structures Database System Concepts-6th Edition 15.2 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.2 ©Silberschatz, Korth and Sudarshan th Edition Outline Lock-Based Protocols Timestamp-Based Protocols Validation-Based Protocols Multiple Granularity Multiversion Schemes Insert and Delete Operations Concurrency in Index Structures

Lock-Based Protocols A lock is a mechanism to control concurrent access to a data item Data items can be locked in two modes 1.exclusive ()mode.Data item can be both read as well as written.X-lock is requested using lock-X instruction. 2.shared(S)mode.Data item can only be read.S-lock is requested using lock-S instruction. Lock requests are made to the concurrency-control manager by the programmer.Transaction can proceed only after request is granted. Database System Concepts-6th Edition 15.3 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.3 ©Silberschatz, Korth and Sudarshan th Edition Lock-Based Protocols A lock is a mechanism to control concurrent access to a data item Data items can be locked in two modes : 1. exclusive (X) mode. Data item can be both read as well as written. X-lock is requested using lock-X instruction. 2. shared (S) mode. Data item can only be read. S-lock is requested using lock-S instruction. Lock requests are made to the concurrency-control manager by the programmer. Transaction can proceed only after request is granted

Lock-Based Protocols (Cont.) Lock-compatibility matrix S X S true false X false false A transaction may be granted a lock on an item if the requested lock is compatible with locks already held on the item by other transactions Any number of transactions can hold shared locks on an item, But if any transaction holds an exclusive on the item no other transaction may hold any lock on the item. If a lock cannot be granted,the requesting transaction is made to wait till all incompatible locks held by other transactions have been released.The lock is then granted. Database System Concepts-6th Edition 15.4 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 15.4 ©Silberschatz, Korth and Sudarshan th Edition Lock-Based Protocols (Cont.) Lock-compatibility matrix A transaction may be granted a lock on an item if the requested lock is compatible with locks already held on the item by other transactions Any number of transactions can hold shared locks on an item, But if any transaction holds an exclusive on the item no other transaction may hold any lock on the item. If a lock cannot be granted, the requesting transaction is made to wait till all incompatible locks held by other transactions have been released. The lock is then granted

Lock-Based Protocols (Cont.) Example of a transaction performing locking: T2:lock-S(A); read (A); unlock(A); lock-S(B); read (B); unlock(B); display(A+B) Locking as above is not sufficient to guarantee serializability -if A and B get updated in-between the read of A and B, the displayed sum would be wrong. A locking protocol is a set of rules followed by all transactions while requesting and releasing locks.Locking protocols restrict the set of possible schedules. Database System Concepts-6th Edition 15.5 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 15.5 ©Silberschatz, Korth and Sudarshan th Edition Lock-Based Protocols (Cont.) Example of a transaction performing locking: T2 : lock-S(A); read (A); unlock(A); lock-S(B); read (B); unlock(B); display(A+B) Locking as above is not sufficient to guarantee serializability — if A and B get updated in-between the read of A and B, the displayed sum would be wrong. A locking protocol is a set of rules followed by all transactions while requesting and releasing locks. Locking protocols restrict the set of possible schedules

The Two-Phase Locking Protocol This protocol ensures conflict-serializable schedules. Phase 1:Growing Phase Transaction may obtain locks Transaction may not release locks Phase 2:Shrinking Phase Transaction may release locks Transaction may not obtain locks The protocol assures serializability.It can be proved that the transactions can be serialized in the order of their lock points (i.e.,the point where a transaction acquired its final lock). Database System Concepts-6th Edition 15.6 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.6 ©Silberschatz, Korth and Sudarshan th Edition The Two-Phase Locking Protocol This protocol ensures conflict-serializable schedules. Phase 1: Growing Phase Transaction may obtain locks Transaction may not release locks Phase 2: Shrinking Phase Transaction may release locks Transaction may not obtain locks The protocol assures serializability. It can be proved that the transactions can be serialized in the order of their lock points (i.e., the point where a transaction acquired its final lock)

The Two-Phase Locking Protocol (Cont.) There can be conflict serializable schedules that cannot be obtained if two-phase locking is used. However,in the absence of extra information (e.g.,ordering of access to data),two-phase locking is needed for conflict serializability in the following sense: Given a transaction Ti that does not follow two-phase locking,we can find a transaction T that uses two-phase locking,and a schedule for T;and T;that is not conflict serializable. Database System Concepts-6th Edition 15.7 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.7 ©Silberschatz, Korth and Sudarshan th Edition The Two-Phase Locking Protocol (Cont.) There can be conflict serializable schedules that cannot be obtained if two-phase locking is used. However, in the absence of extra information (e.g., ordering of access to data), two-phase locking is needed for conflict serializability in the following sense: Given a transaction Ti that does not follow two-phase locking, we can find a transaction Tj that uses two-phase locking, and a schedule for Ti and Tj that is not conflict serializable

Lock Conversions Two-phase locking with lock conversions: First Phase: can acquire a lock-S on item can acquire a lock-X on item can convert a lock-S to a lock-X (upgrade) -Second Phase: can release a lock-S can release a lock-X can convert a lock-X to a lock-S (downgrade) This protocol assures serializability.But still relies on the programmer to insert the various locking instructions. Database System Concepts-6th Edition 15.8 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.8 ©Silberschatz, Korth and Sudarshan th Edition Lock Conversions Two-phase locking with lock conversions: – First Phase: can acquire a lock-S on item can acquire a lock-X on item can convert a lock-S to a lock-X (upgrade) – Second Phase: can release a lock-S can release a lock-X can convert a lock-X to a lock-S (downgrade) This protocol assures serializability. But still relies on the programmer to insert the various locking instructions

Automatic Acquisition of Locks A transaction T issues the standard read/write instruction, without explicit locking calls. The operation read(D)is processed as: if T;has a lock on D then read(D) else begin if necessary wait until no other transaction has a lock-X on D grant Tia lock-S on D; read(D) end Database System Concepts-6th Edition 15.9 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.9 ©Silberschatz, Korth and Sudarshan th Edition Automatic Acquisition of Locks A transaction Ti issues the standard read/write instruction, without explicit locking calls. The operation read(D) is processed as: if Ti has a lock on D then read(D) else begin if necessary wait until no other transaction has a lock-X on D grant Ti a lock-S on D; read(D) end

Automatic Acquisition of Locks (Cont.) write(D)is processed as: if T;has a lock-X on D then write(D) else begin if necessary wait until no other transaction has any lock on D, if T;has a lock-S on D then upgrade lock on D to lock-X else grant Tia lock-X on D write(D) end; All locks are released after commit or abort Database System Concepts-6th Edition 15.10 @Silberschatz,Korth and Sudarshan
Database System Concepts - 6 15.10 ©Silberschatz, Korth and Sudarshan th Edition Automatic Acquisition of Locks (Cont.) write(D) is processed as: if Ti has a lock-X on D then write(D) else begin if necessary wait until no other transaction has any lock on D, if Ti has a lock-S on D then upgrade lock on D to lock-X else grant Ti a lock-X on D write(D) end; All locks are released after commit or abort

Deadlocks Consider the partial schedule Ta Ta lock-x (B) read (B) B=B-50 write (B) lock-s (A) read (A) lock-s (B) lock-x (A) Neither T3 nor T4 can make progress-executing lock-S(B) causes T4 to wait for T3 to release its lock on B,while executing lock-X(A)causes T3 to wait for T4 to release its lock on A. Such a situation is called a deadlock. To handle a deadlock one of T3 or T4 must be rolled back and its locks released. Database System Concepts-6th Edition 15.11 ©Silberschat乜,Korth and Sudarshan
Database System Concepts - 6 15.11 ©Silberschatz, Korth and Sudarshan th Edition Deadlocks Consider the partial schedule Neither T3 nor T4 can make progress — executing lock-S(B) causes T4 to wait for T3 to release its lock on B, while executing lock-X(A) causes T3 to wait for T4 to release its lock on A. Such a situation is called a deadlock. To handle a deadlock one of T3 or T4 must be rolled back and its locks released
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 14 Transactions.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 13 Query Optimization.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 12 Query Processing.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 11 Indexing and Hashing.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 10 Storage and File Structure.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 1 Introduction(Avi Silberschatz Henry F. Korth S. Sudarshan).ppt
- 电子科技大学:《大数据时代商业模式创新 Business model innovation》研究生课程教学资源(课件讲稿,杜义飞).pdf
- 电子科技大学:《大数据时代商业模式创新 Business model innovation》研究生课程教学资源(讲座)换一个视角看清商业本质.pdf
- 电子科技大学:《大数据时代商业模式创新 Business Model Innovation in the Times of Big Data》研究生课程教学资源(教学大纲,杜义飞).pdf
- 《物联网技术导论 Introduction of Internet of Things》课程教学资源(参考文献)群智感知计算(清华大学:在后台操纵的同时,用户对于污染、扭曲文字的识 刘云浩).pdf
- 南京大学:《物联网技术导论 Introduction of Internet of Things》课程教学资源(参考文献)基于位置服的务(架构与研究进展).pdf
- 南京大学:《物联网技术导论 Introduction of Internet of Things》课程教学资源(参考文献)Wi-Fi雷达 - 从RSSI到CSI.pdf
- 南京大学:《物联网技术导论 Introduction of Internet of Things》课程教学资源(参考文献)Survey of Wireless Indoor Positioning Techniques and Systems.pdf
- 南京大学:《物联网技术导论 Introduction of Internet of Things》课程教学资源(参考文献)Location, Localization, and Localizability.pdf
- RFID标签数目估算机制研究(参考文献)ZOE - Fast Cardinality Estimation for Large-Scale RFID Systems.pdf
- RFID标签数目估算机制研究(参考文献)Every Bit Counts - Fast and Scalable RFID Estimation.pdf
- RFID标签数目估算机制研究(参考文献)Energy Efficient Algorithms for the RFID Estimation Problem.pdf
- RFID标签数目估算机制研究(参考文献)Counting RFID Tags Efficiently and Anonymously.pdf
- RFID标签数目估算机制研究(参考文献)An Efficient Protocol for RFID Multigroup Threshold-based Classification.pdf
- RFID标签识别机制-冲突以及防冲突算法研究(参考文献)Using Analog Network Coding to Improve the RFID Reading Throughput.pdf
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 16 Recovery System.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 17 Database System Architectures.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 18 Parallel Databases.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 19 Distributed Databases.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 2 Introduction to the Relational Model.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 20 Data Analysis.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 21 Information Retrieval.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 22 Object-Based Databases.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 23 XML.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 24 Advanced Application Development.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 25 Advanced Data Types and New Applications.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 26 Advanced Transaction Processing.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 3 Introduction to SQL.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 4 Intermediate SQL.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 5 Advanced SQL.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 6 Formal Relational Query Languages.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 7 Database Design - The Entity-Relationship Approach.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 8 Relational Database Design.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,PPT课件讲稿,英文版)Chapter 9 Application Design and Development.ppt
- 《数据库系统概念 Database System Concepts》原书教学资源(第六版,附录,英文版)Advanced Relational Database Design.pdf