Answer Posted / afan
When many people attempt to modify data in a database at
the same time, a system of controls must be implemented so
that modifications made by one person do not adversely
affect those of another person. This is called concurrency
control.
Concurrency control theory has two classifications for the
methods of instituting concurrency control:
Pessimistic concurrency control
A system of locks prevents users from modifying data in a
way that affects other users. After a user performs an
action that causes a lock to be applied, other users cannot
perform actions that would conflict with the lock until the
owner releases it. This is called pessimistic control
because it is mainly used in environments where there is
high contention for data, where the cost of protecting data
with locks is less than the cost of rolling back
transactions if concurrency conflicts occur.
Optimistic concurrency control
In optimistic concurrency control, users do not lock data
when they read it. When a user updates data, the system
checks to see if another user changed the data after it was
read. If another user updated the data, an error is raised.
Typically, the user receiving the error rolls back the
transaction and starts over. This is called optimistic
because it is mainly used in environments where there is
low contention for data, and where the cost of occasionally
rolling back a transaction is lower than the cost of
locking data when read.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
When you use @@error and try-catch?
How you can find out if an index is useful to the optimizer?
What is save transaction and save point?
What is a select query statement in ms sql server?
Explain transaction server distributed transaction?
Due to some maintenance being done, the sql server on a failover cluster needs to be brought down. How do you bring the sql server down?
What is an indice?
How to connect php with different port numbers?
Write an sql query to sort a table according to the amounts in a row and find the second largest amount.
How will you know when statistics on a table are obsolete?
How do I install only the client tools of sql server 2000?
How self join is different from outer join?
What happens if null values are involved in comparison operations?
what is raid? : Sql server database administration
How do I create a stored procedure in dbml?