Skabelon til Slideshow for LF

advertisement
Chapter 6.
Concurrency control
Databases and Applications
with Relaxed ACID Properties
•
Evaluation
criteria
Pessimistic
concurrency
control
Optimistic
concurrency
control
Low
isolation
levels
Short duration
locks
Concurrency
Allows concurrency except
when conflicting locks
occur
Allows concur-rency except
for conflicting transactions
Concurrency is
improved at the costs of
“non-lost-update”
anomalies
Concurrency is improved at the
costs of all types of isolation
anomalies
Deadlock
When deadlock occurs one
of the transactions must be
aborted
Eliminates deadlock, but one
of the transactions must be
aborted in case of a conflict
Can eliminate deadlocks
caused by read-write
conflicts
Can reduce/
eliminate dead-locks caused by
both read-write and write-write
conflicts
Hotspots
Pessimistic con-currency is
generally better than
optimistic concurrency
control in hotspots
Pessimistic con-currency is
generally better than
optimistic concurrency
control in hotspots
Can eliminate read-write
conflicts in hotspots
Can reduce both read-write and
write-write conflicts
in hotspots
The atomicity
property
No problems
No problems
No problems
Extended transaction models
should be used
The consistency
property
No problems
No problems
Countermeasures may
be used to manage
isolation anomalies
Asymptotic consistency should
normally be used
The Isolation
property
No problems except for
long-duration transactions
No problems except for
long-duration transactions
Countermeasures may
be used to manage
isolation anomalies
Countermeasures should always
be used to manage isolation
anomalies
The durability
property
No problems
No problems
No problems
No problems if the atomicity
property is implemented
Distribution
options
Distributed con-currency
control will decrease
performance and
Distributed con-currency
control will decrease
performance and availability
May be implemented in
a distributed DBMS
without further problems
Retriable subtrans-actions may
be necessary to implement the
atomicity property
Often Deadlock prevention is impossible:
Example:
In e-commerce products may be put in the
basket in any order.
•
Pessimistic concurrency control:
• Locking is a pessimistic concurrency control,
because access for a new transaction to data is
blocked if there is a chance for conflict with
old accesses. Therefore, there are no conflicts
when a transaction is committed.
(What is a conflict between transactions?)
On the other hand, transactions may have
waited for non existing conflicts or
expierensed deadlock.
•
What is read-write conflicts?
What is write-write conflicts?
Optimistic concurrency control
• Concurrency control is optimistic if access to
committed data always is allowed. Therefore,
there are no access to updated data before it is
committed.
• A transaction can only commit if it has no
conflicts at the time of commit.
(Backward validation).
•
The anomalies of SQL’s isolation levels
SQL
isolation levels
Isolation anomalies
Dirty read Nonrepeatable
read
Phantoms
Yes
Yes
Yes
READ COMMITTED No
Yes
Yes
REPEATABLE READ No
No
Yes
SERIALIZABLE
No
No
READ
UNCOMMITTED
No
Different lock durations:
• Long duration locks =
All locks are obtain before global commit and released
after global commit
• Short duration locks =
All locks are obtained and released in local transactions
executed both before and after global commit.
Short duration locks does not lock data accross a dialog
with the user or when there is a risk for deadlock.
Long-lived transactions
Long-lived transactions are transactions where
only short duration locking are acceptable.
– workflows are normally long-lived
– in cooperative work there is a need for user notification
which is a countermeasure to prevent anomalies.
– applications such as cooperative CAD need user
involvement in conflict resolution
•
Hotspots:
A hotspot is a record normally updated by many
concurrent transactions. In hotspots, pessimistic
concurrency control is generally better than
optimistic concurrency control (O’Neil, 1986).
However, a hotspot is best managed by using short
duration locking around the hotspot.
Examples:
– In e-commerce best-seller products may be hot spots
– The generator of transaction sequense numbers.
Methods to increase concurrency
Evaluation
criteria
Pessimistic
concurrency
control
Optimistic
concurrency
control
Low isolation
levels
Short duration
locks
Concur-rency Allows
concurrency
except when
conflicting locks
occurs
Allows
concurrency
except for
conflicting
transactions
Concurrency is
improved at the
costs of “nonlost-update”
anomalies
Concurrency is
improved at the
costs of all types
of isolation
anomalies
Deadlock
When deadlock
occurs one of the
transactions must
be aborted
Eliminates
deadlock, but one
of the transactions
must be aborted in
case of a conflict
Can eliminate
deadlocks
caused by
read-write
conflicts
Can reduce/
eliminate deadlocks caused by
both read-write
and write-write
conflicts
Hotspots
Pessimistic
concurrency is
generally better
than optimistic
concurrency
control in hotspots
Pessimistic
concurrency is
generally better
than optimistic
concurrency
control in hotspots
Can eliminate
read-write
conflicts in
hotspots
Can
reduce/eliminate
both read-write
and write-write
conflicts
in hotspots
Evaluation
criteria
Pessimistic
concurrency
control
Optimistic
concurrency
control
Low isolation
levels
Short duration
locks
The atomicity
property
No problems
No problems
No problems
Extended
transaction
models should
be used
The consisNo problems
tency property
No problems
Countermeasures may be
used to manage
isolation
anomalies
Asymptotic
consistency
should normally
be used
The Isolation
property
No problems
except for
long-duration
transactions
Countermeasur
es may be used
to manage
isolation
anomalies
Countermeasures should
always be used
to manage
isolation
anomalies
No problems
except for
long-duration
transactions
Evaluation
criteria
Pessimistic
concurrency
control
Optimistic
concurrency
control
Low isolation
levels
Short duration
locks
The durability
property
No problems
No problems
No problems
No problems if the
atomicity property
is implemented
Distribution
options
Distributed concurrency control
will decrease
performance and
availability
Distributed concurrency control
will decrease
performance and
availability
May be
implemented in a
distributed
DBMS without
further problems
Retriable subtransactions may be
necessary to
implement the
atomicity property
DeveA DBMS facility A DBMS facility Extra costs for
lopment
countermeasures
costs
against isolation
anomalies
Extra development
costs for relaxed
ACID properties
ERP system:
C ustomers
O rders
Locations
O rderlines
Products
Productstocks
Exercise
What concurrency control method would you recommend in ecommerce systems?
End of session
Thank you !!!
Evaluering af concurrency control metoderne:
Design af DBMS/transaktioner så en rette information haves
til rette tid
til rette person/system
på rette sted
i rette kvalitet (consistency)
til de mindste omkostninger.
Short duration locking:
Ved kort låsning låses der ikke på tværs af en
brugerdialog/subtransaktioner samt ved risiko
for deadlock og andre problemer, som gør
låsetiden uforudsigelig.
I denne situation må man bruge
modforholdsregler mod de mulige anomalies
samt kompensering på tværs af opdaterende
subtransaktioner i stedet for roll back
retablering.
Download