Este documento describe la gestión de transacciones y su aplicación a las pequeñas y medianas empresas. Explica conceptos como las propiedades ACID de las transacciones, los estados y técnicas de implementación como el área de trabajo privada y el registro de intenciones. También presenta ejemplos de transacciones comerciales como las ventas y transferencias bancarias y cómo la distribuidora de cosméticos YULY'S puede aplicar estos conceptos.
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Gestion de base de datos
1. UNIVERSIDAD VERACRUZANA
FACULTAD DE ADMINISTRACIÓN
LIC. EN SISTEMAS COMPUTACIONES ADMINISTRATIVOS
CATEDRÁTICO: TORRES GASTELU CARLOS ARTURO
EE: BASE DE DATOS
INVESTIGACIÓN DE GESTIÓN DE TRANSACCIONES Y APLICACIÓN
A LA PYME.
EQUIPO 3:
SALAZAR CHÁVEZ HERMILO S09007622
CORTES SOBERANES JUAN M. SO9007694
2. INTRODUCCIÓN
Las nuevas tecnologías han avanzado en los últimos años. Las metodologías de
desarrollo así como lasplataformas y frameworks permiten hoy desarrollar software de
porte empresarial con tecnologías que antes se utilizaban solamente para sistemas
pequeños y medianos. Sin embargo, esta adaptación de las nuevas tecnologías a este
tipo de sistemas no es exitosa si no considera el contexto en donde será utilizado.
Los nuevos sistemas informáticos de porte empresarial deberán interoperar con los
sistemas legados en la empresa, así como interactuar con otros sistemas desarrollados
en otras plataformas y mediante otras tecnologías.
Uno de los principales retos que enfrentan las empresas al desarrollar nuevo software
que interopere conotras aplicaciones existentes es la integración y consistencia de los
datos. En muchas empresas se cuenta con fuentes de datos altamente heterogéneas,
incluso con redundancia de información en muchos casos.
Desafortunadamente otras aplicaciones corren sobre esas fuentes de datos, lo que
implica que nuevas aplicaciones no pueden alterar la estructura de la información
debido a que dejaría sin funcionamiento a otras aplicaciones legadas. La manipulación
de fuentes de datos heterogéneas es un problema.
3. GESTIÓN DE TRANSACCIONES
Una transacción es una unidad lógica de trabajo que tiene ciertas propiedades
conocidas como propiedades ACID: atomicidad, coherencia, aislamiento y
permanencia.
Es responsabilidad del sistema gestor de bases de datos el asegurar que se cumplan
estas propiedades. Sin embargo, el programador dispone de un cierto grado de control
sobre la forma en que SQL Server gestiona algunas de estas propiedades.
Existen tres formas de llevar a cabo este procesamiento: auto confirmación, explícita e
implícita (que no voy a abordar en este post pero que os animo a comentar si lo creéis
interesante).
PROPIEDADES
Atomicidad. O todas las operaciones de la transacción se reflejan
correctamente en la base de datos, o ninguna.
Consistencia. La ejecución aislada de una transacción preserva la consistencia
(coherencia) de los datos.
Aislamiento. Aunque varias transacciones se pueden ejecutar
concurrentemente, cada transacción debe ignorar a las otras transacciones que
se ejecutan
Durabilidad. Tras la finalización con éxito de una transacción permanecen los
cambios realizados en la base de datos, incluso si hay fallos en el sistema.
ESTADOS DE UNA TRANSACCIÓN
Activa, el estado inicial; la transacción permanece en este estado mientras
se está ejecutando.
Parcialmente comprometida, después de ejecutarse la última instrucción.
Fallida, después de descubrir que la ejecución normal ya no puede llevarse
a cabo.
Abortada, después del retroceso de la transacción y haber restaurado la
base de datos su estado anterior al inicio de la transacción. Dos opciones
después de que haya abortado:
– reiniciar la transacción
– cancelar la transacción
4. BLOQUEOS
Losbloqueos se pueden definir formalmente como sigue: "Un conjunto de procesos se
bloquean si cada proceso del conjunto esta esperando un evento que solo otro
proceso del conjunto puede provocar". Puesto que todos los procesos están en
espera, ninguno de ellos podrá ocasionar nunca ninguno de los eventos que podrían
desbloquear a algunos de los otros miembros del conjunto.
El control de concurrencia trata sobre los problemas de aislamiento y consistencia del
procesamiento de transacciones. El control de concurrencia distribuido en sistema de
manejo de bases de datos distribuidas asegura que la consistencia de la base de datos
se mantiene, en un ambiente distribuido multiusuario. Si las transacciones son
internamente consistentes, la manera más simple de lograr este objetivo es ejecutar
cada transacción sola, una después de otra. Sin embargo esto puede afectar
enormemente el desempeño de un sistema de manejo de bases de datos distribuidas
dado que el nivel de concurrencia se reduce al mínimo.
El nivel de concurrencia, el número de transacciones activas, es probablemente el
parámetro más importante en sistemas distribuidos. Los mecanismos de control de
concurrencia buscan encontrar un balance entre el mantenimiento de la consistencia
de la base de datos y el mantenimiento de un alto nivel de concurrencia. El fallo en
diseño de mecanismos apropiados de sincronización y en obligar su uso por cada
proceso que utiliza recursos comunes, produce frecuentemente un comportamiento
erróneo del sistema y rupturas que son notablemente difícil de depurar. La
concurrencia puede producir un incremento de la productividad cuando se
implementan correctamente, pero puede también degradar la fiabilidad cuando la
sincronización impropia entre procesos contamina el sistema con errores artificios de
tiempo.
Si no se lleva a cabo un adecuado control de concurrencia, se podrían llegar a
presentar dos anomalías. En primer lugar, se pueden perder actualizaciones
provocando que los efectos de algunas transacciones no se reflejen en la base de
datos. En segundo lugar, pueden presentarse recuperaciones de información
inconsistentes.
5. TÉCNICAS DE IMPLANTACIÓN DE TRANSACCIONES
Área de trabajo privada:
Consiste en realizar copias de los bloques que serán utilizados dentro de una
transacción de manera que se trabaje con estas copias para realizar todas las
modificaciones necesarias. Todo el espacio de trabajo con la información que será
utilizada es contenida dentro de estas copias denominado área de trabajo privada. Los
demás usuarios trabajaran con la copia original de los bloques pero no podrán obtener
una segunda copia de los mismos.
Al iniciarse la transacción el proceso obtiene una copia privada de los
datos.Lecturas y escrituras sobre la zona privada. Para optimizar solo se crean copias
privadas de los datos modificados. Una segunda optimización para los datos que están
organizados en bloques apuntados desde un índice, como los ficheros, es crear copias
solo de los fragmentos modificados.
Bitácora de escritura anticipada:
Este método consiste en realizar una copia con todas las transacciones que van siendo
ejecutadas hacia un bloque o espacio (LOG) de trabajo que sea estable, esta lista se la
conoce como lista de intenciones.Las transacciones serán actualizadas con la
información una vez que se ha determinado el fin de la transacción.
Se modifican los datos pero antes se escribe en un log sobre memoria estable la
descripción de la operación. En el log también se escriben registros para indicar el
inicio y fin de la transacción, cuando se aborta la transacción se recorre el log para
deshacer los cambios. Después de una caída temporal, se debe recorrer el log.
APLICACIÓN DE LA GESTIÓN DE TRANSACCIÓN A LA PYME
En primer lugar La Distribuidora de cosméticos YULY’S deberá contar con un catálogo
de todos los artículos disponibles que puedan ajustarse a las necesidades de los
clientes.
Clasificar en el catálogo los artículos dependiendo su características: tipo, fabricante,
contenido, precio o por nombre. Aplicando el catálogo es mucho más fácil tanto para
la empresa como para los clientes interesados el poder encontrar un artículo que
cumpla con sus requerimientos.
6. TRANSACCIÓN COMERCIAL – VENTA
PRODUCTO
ENTREGAR
DINERO
CLIENTE YULY’S
PAGAR
El cliente cumple la acción de pagar y el vendedor cumple la acción de entregar.
Ambos procesos deben ser correctos. Por un lado, el cliente mediante la acción pagar,
el dinero debe cumplir ciertas reglas. Por ejemplo, que la cantidad sea la correcta, que
el dinero resulte legítimo, que el pago se efectúe de forma presencial, etc. Por otro
lado, YULY’S mediante la acción entregar, debe también cumplir ciertos requisitos,
como por ejemplo, entrega de la mercadería en tiempo y forma, el producto debe
presentarse de una manera especial, debe estar intacto, etc. Ahora bien, para que la
transacción se cumpla de forma satisfactoria, ambas reglas de juego para cada acción,
deben ejecutarse de forma correcta y libre de errores o ambigüedades.
Si se producenfallos, que se puedan dar por defectos de reglas, anomalías diversas,
errores de sistemas o por malicia. Sea cual fuere el motivo, ante una situación de
insatisfacción de la transacción, la operación debe abortarse cuanto antes.
TRANSFERENCIA BANCARIA
En el caso de transferencia bancaria de dinero o valores, se produce un proceso de
doble comprobación de saldo. Por un lado, se registra el dinero que pasa de una
entidad a otra y, por el otro lado, se registra el movimiento. Esta doble verificación
permite determinar si ambos procesos fueron satisfactorios.
Poor ultimo la distribuidora de cosméticos YULY’S cuentas con 3 computadoras en el
caso que un 2 clientes pidan el mismo producto pero que solo exista 1 en el almacén
este será vendido al primer cliente mientras que el segundo solo sabrá que el artículo
se agoto.