Fundamentos del procesamiento de transacciones
Una transacción es un conjunto de tareas relacionadas que se realizan de forma satisfactoria o incorrecta como una unidad. En términos de procesamiento, las transacciones se confirman o se anulan. Para que una transacción se confirme, todos los participantes deben garantizar la permanencia de los cambios efectuados en los datos. Los cambios deben conservarse aunque el sistema se bloquee o tengan lugar otros eventos imprevistos.
Basta con que un solo participante no pueda garantizar este punto para que la transacción falle en su totalidad. Todos los cambios efectuados en datos dentro del ámbito de la transacción se deshacen hasta un punto específico establecido.
Las transacciones enlazan varias tareas entre sí. Por ejemplo, si una página de ASP.NET realiza dos tareas, crea primeramente una tabla nueva en una base de datos y, después, llama a un objeto especializado para recopilar, aplicar formato e insertar datos en la tabla nueva. Estas dos tareas están relacionadas entre sí e incluso son interdependientes, de modo que se ha de evitar la creación de una tabla nueva salvo que se pueda rellenar con datos. La ejecución de ambas tareas dentro del ámbito de una transacción individual fuerza la conexión entre ellas. Si la segunda tarea falla, la primera se deshace hasta un punto anterior a la creación de la tabla nueva.
Este ejemplo pone de manifiesto que una transacción se puede confinar a un único recurso de datos, como una base de datos o una cola de mensajes. Es normal que estos recursos de datos proporcionen funciones de transacciones locales. El control de estas transacciones por el recurso de datos hace que sean eficaces y fáciles de administrar.
Las transacciones también pueden abarcar varios recursos de datos. Las transacciones distribuidas proporcionan flexibilidad para incorporar en una sola acción de cumplimiento o incumplimiento varias operaciones distintas que tienen lugar en sistemas diferentes.
Vea también
Procesar transacciones | Propiedades ACID | Límites de transacciones | Transacciones distribuidas