Oracle
 sql >> база данни >  >> RDS >> Oracle

2PL, строг срещу строг модел, има ли полза?

Какво е протокол за двуфазно заключване (2PL)?

A transaction is two-phase locked if:

before reading x, it sets a read lock on x

before writing x, it sets a write lock on x

it holds each lock until after it executes the corresponding operation

after its first unlock operation, it requests no new locks

Сега какво е строго фазово заключване?

Тук една транзакция трябва да държи всички свои изключителни заключвания, докато не извърши/прекъсне.

Но какво е строг 2PL?

Строгото двуфазно заключване е още по-строго:тук всички заключвания се задържат до извършване/прекратяване. В този протокол транзакциите могат да се сериализират в реда, в който се извършват.

Много по-дълбоко :

Строго 2PL:

Същото като 2PL, но задръжте всички изключителни заключвания, докато транзакцията вече не бъде успешно ангажирана или прекратена. – Гарантира безкаскадно възстановяване

Стига 2PL :

Същото като Strict 2PL, но задръжте всички заключвания, докато транзакцията вече не бъде успешно ангажирана или прекъсната. – Използва се в динамични среди, където моделите за достъп до данни не са известни предварително.

Няма задънена улица. Също така, по-млада транзакция, изискваща елемент, държан от по-стара транзакция, се прекратява и рестартира със същото времеви печат, като се избягва гладуването.

Надявам се, че горните ясни обяснения с диаграмата трябва да са ви разяснили за концепцията и предимствата на стриктното пред другото.

Благодаря



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. R12.2 Онлайн цикъл на корекция Резюме

  2. Как да идентифицираме невалидни (повредени) стойности, съхранени в колони DATE на Oracle

  3. opatch предвар

  4. Потребителска парола за гост в 11i/R12

  5. Как да експортирате резултатите от заявката в .txt файл, когато използвате SQLcl (Oracle)