Concurrency control techniques
Serializability can be achieved in several ways. There are two main concurrency control
techniques that allow transactions to execute safely in parallel subject to certain con-straints: locking and timestamp methods.
Locking and timestamping are essentially conservative (or pessimistic ) approaches in
that they cause transactions to be delayed in case they conflict with other transactions at
some time in the future. Optimisticmethods, as we see later, are based on the premise that
conflict is rare so they allow transactions to proceed unsynchronized and only check for
conflicts at the end, when a transaction commits. We discuss locking, timestamping, and
optimistic concurrency control techniques in the following sections.