Upload
phillip-richards
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Concurrency Control in Distributed Databases.
By :-Rishikesh Mandvikarrmandvik[at]engr.smu.eduMay 1, 2004
2
Topics
Serializability Theory Centralized Databases Distributed Databases
Lock Based Concurrency Control Algorithms Centralized (2PL, S2PL) Distributed (C2PL, PC2PL, D2PL)
Optimistic Concurrency Control
5
Serializability Theory extended to Distributed Database [14]
Fragmentation Horizontal Vertical Hybrid
Replication Synchronous Replication
ROWA Protocol Voting
Asynchronous Replication
6
Concurrency Control algorithms
Pessimistic Optimistic
Locking Timestamp ordering
Hybrid
Centralized
Primary copy
Distributed
Centralized
Conservative
Multi-version
LockingTimestamp
ordering
Classification of CC Algorithms [14]
8
2 Phase locking (2PL) [13]
Rules: Growing phase: “A txn that has to read/write a data object first has
to request a read/write lock on it.”
Shrinking phase: “A txn cant request additional locks once it
releases a lock.”
10
Strict 2 Phase Locking (S2PL) [13]
Rules: Growing phase: “A txn that has to read/write a data object first has
to request a read/write lock on it.”
Non - Shrinking phase: “Txn releases all locks only when it completes.”
11
Number of locks
Transaction
Locks acquired
Locks held till transaction completion
Lock-point
Locked data items used
Lock Graph for S2PL
13
2PL, S2PL
Differences2PL
Cascading aborts Conflict serializable schedules (not all) High concurrency
S2PL No cascading aborts Serializable schedules Low concurrency
14
Centralized 2PL
TM TM
LM
DPDP
Local data Local data
User application User application
Replica control protocol
C2PL
Site#1 Site#2
16
Primary Copy 2PL [14]
Lock on primary copy necessary Lock management at the primary-copy sites
only Pros
Reduces load at central site Cons
Deadlock handling is partially centralized
17
Distributed 2PL [14]
TM TM
LM LM
DPDP
Local data Local data
User application User application
Replica control protocol
D2PL
Site#1 Site#2
18
Distributed 2PL [14]
Pros Lock management independency
Cons Complex deadlock handling required Communication cost
19
Optimistic Concurrency Control [13][14]
Txns assumed to have no conflictsPrivate workspace areaValidation of txns before write phase
20
Optimistic Concurrency Control [13][14]
Txn phases: Read and Compute
read from database and write into private workspace
Validate Timestamps assigned over here Check for conflict with concurrent txns
Write Copy into database if validation successful
21
Optimistic Concurrency Control [13][14]
For Ti and Tj where TS(Ti) < TS(Tj) Validation Criteria
All phases of Ti execute before TjTi ends before write phase of Tj and Ti doesn’t
modify data read by TjTi finishes its read phase before Tj finishes its read
phase and they both don’t read/write any common data
22
Optimistic Concurrency Control [13][14]
Validation For validating Tj w.r.t committed txn Ti where
TS(Ti) < TS(Tj) Maintain a list of read/write object list for Tj Other cant commit while Tj is validated Once Validated, write phase allowed to finish Bottleneck situation
23
Optimistic Concurrency Control [13][14]
Advantages Increased concurrency with a good “mix” of txns. Better than Lock based systems
Disadvantages Bottleneck situation Maintaining read/write list for every txn Copying the private space to the database Long txns
24
Optimistic Concurrency Control [13][14]
DisadvantagesLong txns
Read/write list would be very long Chance of Restart is proportional to the square of its
size [9]