¿Que es una Transacción?

Una transacción es un grupo de sentencias que representan una unidad de trabajo y deben ejecutarse en su totalidad.
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.

  • Transacción Compensatoria

 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 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.

  • Transacción de Corta Vida
  • Transacción de Larga Vida

  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 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