Las transacciones son secuencias de operaciones, lecturas, escrituras o actualizaciones que llevan a un sistema de un estado consistente a otro. Se dice que una base de datos se encuentra en un estado consistente si obedece a todas las restricciones de integridad definidas sobre ella.
Tipos de Transacciones:
1. Para la Distribución de los Datos: Si las operaciones comprendidas comprendidas dentro de una transacción se efectúan sobre una sola base de datos, o sobre bases de datos diferentes pero comprendidos dentro del mismo servidor y un mismo manejador, se dice que se trata de una transacción local. Si las operaciones que comprende una transacción se realizan sobre diferentes bases de datos, distribuidas en una red de comunicaciones, se dice que la transacción es distribuida.
- Transacción Local
- Transacción Distribuida
2. Por su Durabilidad: Dado que los
resultados de una transacción que realiza un commit son durables, la única
forma de deshacer sus efectos es utilizando otra transacción que los modifique.
A este tipo de transacciones se les conoce como transacciones compensatorias.
3. Por las Características de la Base de Datos: Si las operaciones
de una transacción se ejecutan sobre bases de datos homogéneas, es decir, que
cuentan con las mismas características y con el mismo manejador de base de
datos, se dice que la transacción es homogénea. En caso contrario, se dice que
la transacción es de tipo heterogéneo.
- Transacción Compensatoria
- Transacción Homogénea
- Transacción Heterogénea
4. Por su Duración: Tomando en
cuenta el tiempo que transcurre desde que se inicia una transacción hasta que
se realiza un commit o un rollback, las transacciones pueden ser de corta y
larga vida. Las transacciones de vida corta (también conocidas como transacciones
en línea) se caracterizan por tiempos de respuesta muy cortos y por acceder a
una porción de datos relativamente pequeña. Por otro lado, las transacciones de
vida larga (o de tipo batch) toman tiempos relativamente largos y acceden a
grandes porciones de datos.
5. De acuerdo con su Estructura: Considerando la
estructura que puede tener una transacción se examinan dos aspectos. Si ninguna
de las operaciones contenidas dentro de una transacción es otra transacción, se
dice que la transacción es de tipo plano. Si una transacción puede contener a
su vez subtransacciones se dice que las transacciones están anidadas.
- Transacción de Corta Vida
- Transacción de Larga Vida
- Transacción Plana
- Transacción Anidada
Ejemplo de una transacción en base de datos
distribuida
Un ejemplo
habitual de transacción es el traspaso de una cantidad de dinero entre cuentas
bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la
que se decrementa el saldo de la cuenta origen y otra en la que incrementamos
el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es
decir, para que no aparezca o desaparezca dinero), las dos operaciones deben
ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier
circunstancia (incluso una caída del sistema), el resultado final es que, o
bien se han realizado las dos operaciones, o bien no se ha realizado ninguna
No hay comentarios:
Publicar un comentario