En ambos modelos de bloqueo de datos, el bloqueo se libera después de que los cambios se hayan confirmado en la base de datos.
De forma predeterminada, Rational ClearQuest utiliza bloqueo optimista.
Rational ClearQuest versión 7.1 añade soporte para el bloqueo pesimista, que proporciona un mecanismo para evitar situaciones donde varios usuarios puedan editar un registro simultáneamente. Aplicando la modificación secuencial de registros, el modelo de bloqueo pesimista garantiza que los usuarios que intenten actualizar el mismo registro simultáneamente se bloquearán. Para habilitar el bloqueo pesimista, debe crear o actualizar el depósito de esquemas y las bases de datos de usuario asociadas al nivel de característica 7, y el desarrollador del esquema debe añadir código de enganche a los tipos de registro deseados en el esquema. Para obtener más información sobre cómo modificar el esquema, consulte la ayuda para desarrollar esquemas con Rational ClearQuest Designer y las referencias de la API de Rational ClearQuest.
Las secciones siguientes describen de forma más detallada las diferencias entre el bloqueo optimista y el bloqueo pesimista.
El modelo de bloqueo optimista, al que también se denomina control de concurrencia optimista, es un método de control de concurrencia utilizado en bases de datos relacionales que no utiliza bloqueo de registros. El bloqueo optimista permite que varios usuarios intenten actualizar el mismo registro sin informar a los usuarios de que otros también están intentando actualizar el registro. Los cambios del registro se validan sólo cuando se confirma el registro. Si un usuario actualiza satisfactoriamente el registro, se informa a los otros usuarios que están intentando confirmar sus actualizaciones simultáneas de que existe un conflicto.
Una ventaja del modelo de bloqueo optimista es que evita la sobrecarga del bloqueo de un registro durante la duración de la acción. Si no hay actualizaciones simultáneas, este modelo proporciona actualizaciones rápidas.
El bloqueo optimista es un enfoque útil cuando se espera que las actualizaciones simultáneas de registros no sean frecuentes o la sobrecarga de bloqueo es alta. En la implementación de Rational ClearQuest de bloqueo optimista, cuando varios usuarios editan un registro de forma simultánea, una vez que se han confirmado los cambios de un usuario, los cambios de los otros usuarios se rechazan y los conflictos de datos se deben guardar y fusionar manualmente.
El modelo de bloqueo pesimista impide actualizaciones simultáneas de los registros. Tan pronto como un usuario empieza a actualizar un registro, se coloca un bloqueo sobre el mismo. Se informa a otros usuarios que intentan actualizar este registro de que otro usuario tiene una actualización en curso. Los otros usuarios deben esperar hasta que el primer usuario haya acabado de confirmar los cambios, liberando de esta forma el bloqueo del registro. Sólo entonces puede otro usuario realizar cambios basados en los cambios del usuario anterior.
Una ventaja del modelo de bloqueo pesimista es que impide el problema de la resolución de conflictos evitando los conflictos. Las actualizaciones se serializan y cada actualización posterior se inicia con los cambios confirmados del registro del usuario anterior.
El bloqueo pesimista es un enfoque útil cuando se pueden retardar actualizaciones posteriores hasta que finalice una actualización anterior. Esto normalmente implica que las actualizaciones se producen en un intervalo corto de tiempo.