Welcome to the Linux Foundation Forum!

Why do we need Rigorous 2PL when Strict 2PL is available? [duplicate]

I'm learning about concurrency control in DBMS, however, I'm puzzled about the terms Strict 2PL and Rigorous 2PL. They all make sure the transaction schedule is recoverable and cascade-free. Strict 2PL simply needs that the exclusive lock is retained until the transaction commits or aborts, whereas Rigorous 2PL demands that all locks be held until the transaction commits or aborts.
These two protocols, in my perspective, accomplish the same task, but Strict 2PL is more effective since it may release the shared lock before the transaction commits.
So why do we need Rigorous 2PL when Strict 2PL is a superior protocol?

Categories

Upcoming Training