Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

Static Hashing

AND
OPTIMISTIC CONCURENCY
CONTROL
Presented by:
PAVITHRA B (M20CS06)
Nidhi (M20CS05)
CONCURRENCY
CONTROL

THE VARIOUS TECHNIQUES THAT ENSURES SERIALIZIBILITY OF


SCHEDULES
• LOCKING BASED CONCURRENCY
CONTROL PROTOCOLS
• TIMESTAMP CONCURRENCY CONTROL
PROTOCOLS
• OPTIMISTIC CONCURRENCY CONTROL
PROTOCOLS
IN THIS APPROACH, A TRANSACTION’S LIFE CYCLE
IS DIVIDED INTO THE FOLLOWING THREE PHASES −
EXECUTION PHASE − A TRANSACTION FETCHES DATA ITEMS TO
MEMORY AND PERFORMS OPERATIONS UPON THEM.
VALIDATION PHASE − A TRANSACTION PERFORMS CHECKS TO
ENSURE THAT COMMITTING ITS CHANGES TO THE DATABASE
PASSES SERIALIZABILITY TEST.
COMMIT PHASE − A TRANSACTION WRITES BACK MODIFIED DATA
ITEM IN MEMORY TO THE DISK.
OPTIMISTIC CONCURRENCY
CONTROL
OPTIMISTIC CONCURRENCY CONTROL (OCC) IS A CONCURRENCY
CONTROL METHOD APPLIED TO TRANSACTIONAL SYSTEMS.
OCC “HOPES” THAT MULTIPLE TRANSACTIONS CAN FREQUENTLY
COMPLETE WITHOUT INTERFERING WITH EACH OTHER. WHILE
RUNNING, TRANSACTIONS USE DATA RESOURCES WITHOUT
ACQUIRING LOCKS ON THOSE RESOURCES. BEFORE
COMMITTING,
EACH TRANSACTION VERIFIES THAT NO OTHER TRANSACTION
HAS R/W THE DATA IT HAS R/W. IF THE CHECK REVEALS
CONFLICTING MODIFICATIONS, THE OTHER TRANSACTION
ROLLS BACK AND CAN GET’S RESTARTED.
OPTIMISTIC CONCURRENCY CONTROL PROTOCOL
USES THREE RULES TO ENFORCE SERIALIZABILITY IN
VALIDATION PHASE 
 RULE 1 − GIVEN TWO TRANSACTIONS TJ AND T1, IF TJ IS READING THE DATA ITEM
WHICH T1 IS WRITING, THEN TJ’S EXECUTION PHASE CANNOT OVERLAP WITH
T1’S COMMIT PHASE. T1 CAN COMMIT ONLY AFTER TJ HAS FINISHED EXECUTION.

RAM
Execution
phase
RAM
Committing phase
RULE 2 
 GIVEN TWO TRANSACTIONS TJ AND T1, IF TJ IS WRITING THE DATA ITEM
THAT T1 IS READING, THEN TJ’S COMMIT PHASE CANNOT OVERLAP WITH
T1’S EXECUTION PHASE. T1 CAN START EXECUTING ONLY AFTER TJ HAS
ALREADY COMMITTED.

RAM

Committing
RAM phase

Execution phase
RULE 3 
 GIVEN TWO TRANSACTIONS TJ AND T1, IF TJ IS WRITING THE DATA ITEM
WHICH T1 IS ALSO WRITING, THEN TJ’S COMMIT PHASE CANNOT OVERLAP
WITH T1’S COMMIT PHASE. T1 CAN START TO COMMIT ONLY AFTER TJ HAS
ALREADY COMMITTED.

RAM
Committing
RAM phase
Committing Phase
DISTRIBUTED OPTIMISTIC CONCURRENCY CONTROL ALGORITHM

DISTRIBUTED OPTIMISTIC CONCURRENCY CONTROL ALGORITHM EXTENDS OPTIMISTIC


CONCURRENCY CONTROL ALGORITHM. FOR THIS EXTENSION, TWO RULES ARE APPLIED −
 RULE 1 − ACCORDING TO THIS RULE, A TRANSACTION MUST BE VALIDATED LOCALLY AT
ALL SITES WHEN IT EXECUTES. IF A TRANSACTION IS FOUND TO BE INVALID AT ANY SITE,
IT IS ABORTED. LOCAL VALIDATION GUARANTEES THAT THE TRANSACTION MAINTAINS
SERIALIZABILITY AT THE SITES WHERE IT HAS BEEN EXECUTED. AFTER A TRANSACTION
PASSES LOCAL VALIDATION TEST, IT IS GLOBALLY VALIDATED.
 RULE 2 − ACCORDING TO THIS RULE, AFTER A TRANSACTION PASSES LOCAL VALIDATION
TEST, IT SHOULD BE GLOBALLY VALIDATED. GLOBAL VALIDATION ENSURES THAT IF TWO
CONFLICTING TRANSACTIONS RUN TOGETHER AT MORE THAN ONE SITE, THEY SHOULD
COMMIT IN THE SAME RELATIVE ORDER AT ALL THE SITES THEY RUN TOGETHER. THIS
MAY REQUIRE A TRANSACTION TO WAIT FOR THE OTHER CONFLICTING TRANSACTION,
AFTER VALIDATION BEFORE COMMIT. THIS REQUIREMENT MAKES THE ALGORITHM
LESS OPTIMISTIC SINCE A TRANSACTION MAY NOT BE ABLE TO COMMIT AS SOON AS IT IS
VALIDATED AT A SITE.
THE APPROACH “HOPES” THAT CONFLICTS DO NOT OCCUR AND TRANSACTIONS ARE
ALLOWED TO PROCEED AS THOUGH THERE WERE NO POSSIBILITY OF CONFLICT.

 ADVANTAGES
THE WAITING TIME TO READ A RESOURCE IS VERY LOW.
DEADLOCKS CAN BE VERY EASILY RECOVERED(BY VALIDATION PHASE).
READ-ONLY TRANSACTIONS CAN RUN CONCURRENTLY WITH UPDATING
TRANSACTIONS WITHOUT LOSS OF DATABASE CONSISTENCY.

 DISADVANTAGES:
CAN LEAD TO STARVATION OF PROCESS THAT WANT TO ALTER THE CONTENTS OF A
RESOURCE.
ABORTING THE LONG TRANSACTIONS IN VALIDATION PHASE WASTES A LOT OF SYSTEM
RESOURCES.
SINCE ONE TRANSACTION CAN’T ACCESS RESOURCE OF OTHER ONES, IT LIMITS
CONCURRENCY WHEN WRITE FUNCTION IS INVOLVED.
THANK YOU

You might also like