Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PÚBLICA
ACTIVIDAD 5:
MANEJO DE TRANSACCIONES
Presenta:
En un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID; en la
práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a obtener un
mejor rendimiento.
Un ejemplo de transacción
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.
2. Propiedades de la transacción
En cualquier momento, el programa podría decidir que es necesario hacer fallar la transacción,
con lo que el sistema deberá revertir todos los cambios hechos por las operaciones ya hechas.
En el lenguaje SQL se
denomina COMMIT a aplicar_cambios y ROLLBACK a cancelar_cambios.
Las transacciones suelen verse implementadas en sistemas de bases de datos y, más
recientemente, se han visto incorporadas a como gestiona un sistema operativo la interacción
con un sistema de archivos (como varias características de las bases de datos, debido a que son
muy similares arquitectónicamente).
3. Tipos de transacciones y explícalas
Las transacciones de acuerdo con las circunstancias como las operaciones de la empresa
afecten su patrimonio, las transacciones pueden ser:
TRANSACCIONES PERMUTATIVAS.
Son aquellos hechos contables que no afectan el capital de la empresa y sólo constituyen
cambios de valores dentro de la igualdad patrimonial. Es el caso cuando se adquieren bienes al
contado; por ejemplo, mobiliario; aquí ocurre una disminución del activo "Efectivo" y un
aumento del activo "Mobiliario", sin afectar el valor del capital. A este hecho contable se le
puede denominar transacción permutativa dentro de un mismo elemento, puesto que los
cambios se sucedieron dentro del activo mismo.
Existen otros hechos permutativos, tales como la adquisición de bienes a crédito; por ejemplo,
equipo de oficina; este hecho origina un aumento del activo "Equipo de oficina" y un aumento
del pasivo "Cuentas por pagar", sin alterar el valor del capital. A este hecho contable se le
denomina transacción permutativa entre diferentes elementos, ya que aquí ocurre
un cambio de valor en el activo y el pasivo.
TRANSACCIONES MODIFICATIVAS:
Son aquellos hechos contables que afectan en alguna forma el capital de la empresa. Estos
hechos pueden ser de dos tipos: modificativos propios o de origen operacional; y
modificativos impropios, originados por el dueño del patrimonio. Las transacciones
modificativas propias provienen de las operaciones regulares realizadas por la empresa; por
ejemplo, los ingresos por servicios prestados; esta operación origina un aumento del capital;
por lo tanto, es un hecho modificativo propio aumentativo. Por el contrario, todo gasto en que
se incurra disminuirá el capital y se tendrá entonces un hecho modificativo propio diminutivo.
Las transacciones modificativas impropias también afectan el capital, pero en este caso son
producidas por el propietario del patrimonio de la empresa. Cuando el dueño del negocio hace
aportes adicionales se origina una transacción modificativa impropia aumentativa; y, por el
contrario, cuando efectúa retiros se origina una transacción modificativa impropia diminutiva.
TRANSACCIONES MIXTAS:
Son aquellas operaciones que originan una permutación de valores y un incremento o
disminución de capital, es decir, transacciones que son permutativas y modificativas a la vez;
por ejemplo, una venta de mercancía al contado. Esta operación origina un hecho permutativo:
disminuye el activo "Mercancías" y aumenta en el activo "Caja", pero si hubo una utilidad en
la venta habrá un hecho modificativo aumentativo, aumentará el capital; si, por él, contrarío,
hubo pérdida en la venta, habrá un hecho modificativo disminutivo, disminuirá el capital.
4. Estructura de las transacciones
Una transacción anidada dentro de otra conserva las mismas propiedades que las de su padre,
esto implica, que puede contener así mismo transacciones dentro de ella. Existen restricciones
obvias en una transacción anidada: debe empezar después que su padre y debe terminar antes
que él. El compromiso de una subtransaccion es condicional al compromiso de su padre, si el
padre de una o varias subtransacciones aborta, las subtransacciones hijas también serán
abortadas. Las transacciones anidadas brindan un nivel más alto de concurrencia entre
transacciones. Ya que una transacción consiste de varias transacciones es posible tener mayor
concurrencia dentro de una sola transacción.
Así también, es posible recuperarse de fallas de forma independiente de cada sub transacción.
Esto limita el daño a una parte más pequeña de la transacción, haciendo que el costo de la
recuperación sea el menor.
También se deben considerar el orden de las lecturas y escrituras. Si las acciones
de lectura y escritura pueden ser mezcladas sin ninguna restricción, entonces, a este tipo de
transacciones se les conoce como Generales .Por el contrario, si se restringe o impone que un
dato debe ser leído antes de que pueda ser escrito entonces se tendrán
transacciones Restringidas. Si las transacciones son restringidas a que todas las acciones de
lectura se realicen antes de las acciones de escritura entonces se les conoce como de Dos
Pasos. Finalmente existe un modelo de acción para transacciones restringidas en donde se
aplica aún más la restricción de que cada par < read, write > tiene que ser ejecutado de manera
atómica.
5. Control de concurrencia
< Atomicidad