¿Cuál es el significado de “intercalar” las transacciones?

Una transacción es la unidad de trabajo realizada por un solo usuario o programa para leer o escribir los datos en la base de datos. Por lo general, se compone de un conjunto de instrucciones.

Como señaló Shivaraj, cualquier usuario no puede esperar más tiempo si el servidor de la base de datos responde a sus solicitudes de forma secuencial, es decir, uno tras otro. Por lo tanto, necesitamos que el servidor maneje múltiples solicitudes simultáneamente. Esto realmente reduce el tiempo de espera de los usuarios.

Para lograr esto, necesitamos intercambiar el control de la ejecución de la transacción entre múltiples transacciones simultáneas. Por ejemplo, ejecute algunas instrucciones de la Transacción 1 y algunas instrucciones de la Transacción 2 y nuevamente algunas instrucciones más de la Transacción 1 y la Transacción 2, etc. Esto se hace para muchas transacciones simultáneas. Esta acción se llama entrelazado de transacciones.

Esto puede hacerse porque una transacción puede necesitar realizar una tarea de E / S de disco, mientras que la otra puede realizar una tarea intensiva de CPU, otra puede esperar bloqueos, etc.

Esta acción puede violar las propiedades de ACID, pero es muy necesaria.

Para obtener más información sobre la gestión de transacciones, consulte aquí.

En el mundo real, cualquier usuario de la base de datos no puede esperar a que el usuario anterior complete su transacción. Significa que todas las transacciones no pueden ocurrir en orden secuencial. Si ese es el caso, es posible que tenga que esperar días en sitios web y cajeros automáticos en línea.

Por lo tanto, las transacciones se intercalan, lo que significa que la segunda transacción se inicia antes de que la primera pueda finalizar . Y la ejecución puede cambiar entre las transacciones de ida y vuelta. También puede cambiar entre múltiples transacciones.

Esto podría causar inconsistencias en el sistema. Pero son manejados por los sistemas de bases de datos.

Parte de la transacción A puede ejecutarse mientras que parte de la transacción B espera la finalización de una transferencia de datos entre un dispositivo y un almacén de alta velocidad. Es la disparidad de la velocidad del dispositivo frente a la memoria y la velocidad de cálculo lo que explica la utilidad del intercalado.