Cual es la parte mas dificil de crear un sistema con transacciones?
#1
Escrito 19 febrero 2016 - 11:19
Lo que queria preguntarles es una opinion: la parte mas dificil no es el diseño? Osea pensar como las transacciones explicitas deben interactuar? Y que querys deben incluir cada una?
Osea pensar si un usuario esta haciendo una acceso y de repente otro quiere acceder... osea existe una guia de como desarrollar un sistema que trabaje con transacciones?
Saludos
Enviado desde mi SM-G530M mediante Tapatalk
#2
Escrito 19 febrero 2016 - 01:18
Hola giulichajari, ¡Bienvenido al bote relativista, subjetivo del desarrollo de software!
No hay tal guía. De haberla todos estaríamos como locos en un mar de goce digital.
Lo que hoy parece ser una buena opción, mañana para otro proyecto (similar o no) puede que no lo sea.
Y no sólo es en cuanto a ordenar y determinar cuando abrir y finalizar una transacción. Lo es en todo el desarrollo del software. Lo importante es que logres encontrar tu punto, cuando te sientas cómodo y seguro de que la decisión tomada en cada encrucijada sea la que más beneficio o ventaja te aporta.
Si hay ciertas recomendaciones, en el tema de transacciones, que puedes considerar:
1. Ser lo más breves posibles. Examina donde está el punto más cercano a la operación que se necesite y allí mismo inicia la transacción. De forma análoga: finalizala lo más pronto posible. Busca minimizar los tiempos en que una transacción esté abierta.
2. Trabaja con los niveles de aislamiento. En informes y consultas a modo de lectura, es recomendable que las transacciones para éstos sean de sólo lectura y apliquen sobre los registros que efectivamente hayan sido confirmado por otras transacciones. Ahora bien para consultas de monitoreo quizá sea conveniente que el nivel de aislamiento a aplicar esté configurado para que pueda leer todos los cambios aplicados como los de las transacciones activas y en ejecución.
Pero claro: esto no es ley. Pueden aparecer excepciones a estas reglas.
Saludos,