transacción transacciones transaccion que pudo obtener niveles manejo instantánea datos bloqueos aislamiento acceso database transactions

database - transacciones - transaccion base de datos



Cómo decidir utilizar transacciones de base de datos (6)

¿Cómo deciden ustedes que deberían estar envolviendo el sql en una transacción?

Por favor alumbrame esto.

¡Saludos!


Cada vez que desee bloquear su base de datos y potencialmente bloquear su aplicación de producción, en cualquier momento que desee ensuciar su aplicación con pesadillas ocultas de escalabilidad, siga adelante y cree una transacción. Hazlo grande, lento y coloca un lazo dentro.

En serio, ninguna de las respuestas anteriores reconoce el intercambio y los problemas potenciales que surgen con el uso intensivo de las transacciones. Tenga cuidado, y considere el riesgo / recompensa cada vez.

Ebay no los usa en absoluto. Estoy seguro de que hay muchos otros.

http://www.infoq.com/interviews/dan-pritchett-ebay-architecture


Se debe usar una transacción cuando necesite que un conjunto de cambios se procese completamente para considerar que la operación es completa y válida. En otras palabras, si solo una parte se ejecuta con éxito, ¿dará como resultado datos incompletos o no válidos almacenados en su base de datos?

Por ejemplo, si tiene una inserción seguida de una actualización, ¿qué sucede si la inserción tiene éxito y la actualización falla? Si eso daría como resultado datos incompletos (en este caso, un registro huérfano), debe envolver las dos declaraciones en una transacción para que se completen como un "conjunto".


Si está ejecutando dos o más declaraciones que espera que sean funcionalmente atómicas, debe envolverlas en una transacción.


Siempre que no le guste, puede completar parte de la operación y parte no.


Siempre que una operación se encuentre bajo los criterios ACID ( Atomicidad , Consistencia , Aislamiento , Durabilidad ), debe usar transacciones

Lee este articulo


si tiene que ejecutar más de una sola declaración de modificación de datos para completar una tarea, todo debe estar dentro de una transacción.

De esta forma, si el primero tiene éxito, pero cualquiera de los siguientes tiene un error, puede deshacer (deshacer) todo como si nunca se hubiera hecho nada.