transaction and concurrency control

19
-Anil Shrestha (070/BCT/01) -Bijay Sahani (070/BCT/05) -Bimal Shrestha (070/BCT/10) -Deshbhakta Khanal (070/BCT/13) Thursday, August 25, 2022 1 TRANSACTION & CONCURRENCY CONTROL

Upload: anil-shrestha

Post on 12-Apr-2017

36 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Transaction and concurrency control

May 3, 2023

1

-Ani l Shrestha (070/BCT/01)-Bi jay Sahani (070 /BCT/05)-Bimal Shrestha (070 /BCT/10)-Deshbhakta Khana l (070/BCT/13)

TRANSACTION & CONCURRENCY

CONTROL

Page 2: Transaction and concurrency control

May 3, 2023

2

What is a Transaction?

Logical unit of work in database An entire program A portion of program A single command

Must be either entirely completed or abortedNo intermediate steps are acceptableSuccessful transactions change database

from one consistent state to another

Page 3: Transaction and concurrency control

May 3, 2023

3

ACID Properties Of Transaction

Atomic – All or nothing

All parts of transaction must be completed and committed or must be aborted and rolled back

Consistent

Conducts transactions in serial order Important in multi-user and distributed databases

Page 4: Transaction and concurrency control

May 3, 2023

4

ACID Properties Of Transaction

Isolation

There may be execution of multiple transaction and each transaction must be unware of each other

Durability

Changes made to database persists even if there are system failures

Page 5: Transaction and concurrency control

May 3, 2023

5

States Of Transaction

ActivePartially CommittedCommittedFailed Aborted

Page 6: Transaction and concurrency control

May 3, 2023

6

Nested Transaction

A transaction that is created inside another transaction

While the nested (child) transaction is active, the parent transaction may not perform any operations other than to commit or abort, or to create more child transactions

When a parent aborts, all of its sub-transactions are aborted

When a sub-transaction aborts, parent can decide whether to abort or not

Page 7: Transaction and concurrency control

May 3, 2023

7

Lock

A lock guarantees exclusive use of a data item to a current transaction

To access data item (lock acquire) After completion of transaction(release

lock) All data item must be accessed in mutual

exclusive manner

Page 8: Transaction and concurrency control

May 3, 2023

8

Types of Lock

Shared lock Exclusive lock

Page 9: Transaction and concurrency control

May 3, 2023

9

Shared Lock

When we want read the data item value at that time shared lock is used

Lock-s

Page 10: Transaction and concurrency control

May 3, 2023

10

Exclusive Lock

It is used for both read and write Lock-x

Page 11: Transaction and concurrency control

May 3, 2023

11

Compatibility Between Lock Modes

shared exclusive

shared true false

exclusive false false

Page 12: Transaction and concurrency control

May 3, 2023

12

Example of lock

T1 T2

Lock-x(B)R(B)B-50W(B)Unlock(B)

lock-s(B) R(B)

unlock(B)

Page 13: Transaction and concurrency control

May 3, 2023

13

Optimistic Concurrency Control

Optimistic concurrency control does not involve locking rows when reading

Optimistic concurrency control (OCC) helps increase database performance

Fewer resources are used to hold the locks during the update process

Records are locked for a shorter length of time

Page 14: Transaction and concurrency control

May 3, 2023

14

Method For Concurrent Control

Deadlock:

A state in which each member of a group of transactions is waiting for some other member to release a lock.

Prevention:Lock all the objects used by a transaction when it starts not a good way.

Page 15: Transaction and concurrency control

May 3, 2023

15

Method For Concurrent Control

Drawbacks of locking:

Lock maintenance represents an overhead that is not present in systems that do not support concurrent access to shared data.

Deadlock: Deadlock prevention reduces concurrency

Page 16: Transaction and concurrency control

May 3, 2023

16

Method For Concurrent Control

Timestamp ordering:

Each transaction is assigned a unique timestamp values when it starts

Timestamp defines its position in the time sequence of transaction

Page 17: Transaction and concurrency control

May 3, 2023

17

Method For Concurrent Control

Timestamp ordering write rule:

if (Tc ≥ maximum read timestamp on D && Tc > write timestamp on committed version of D)

perform write operation on tentative version of D with write timestamp Tc

else /*write is too late*/ abort transaction Tc

Page 18: Transaction and concurrency control

May 3, 2023

18

Method For Concurrent Control

Timestamp ordering read rule:

If (Tc> write timestamp on committed version of D){ let Dselected be the version of D with the maximum write timestamp

≤ Tcif (Dselected is committed)

perform read operation on the version Dselected else

wait until the transaction that made version Dselected commits or aborts then reapply the read rule

}Else

abort transaction Tc

Page 19: Transaction and concurrency control

May 3, 2023

19

Method For Concurrent Control

Multi-version timestamp ordering:

A list of old committed versions as well as tentative versions is kept for each object.

Read operations that arrive too late need not be rejected.