← Todas las simulaciones Bases de datos · Dos a la vez

La transacción

Dos cajeros sacan dinero de la misma cuenta en el mismo instante. Los dos leen el saldo, los dos restan, los dos guardan. Y el banco acaba regalando dinero sin que nadie haya hecho nada mal ni haya ningún error en el código.

Cuadra
Qué hace cada cajero, instante a instante
Saldo100 €
Debería ser100 €
Regalado0 €
Choques0
Saldo real frente al que debería haber
Dinero que aparece de la nada
Cajeros a la vez2
Cuánta gente toca la misma cuenta al mismo tiempo.
Cuánto se solapan70 %
Si uno termina antes de que empiece el otro no hay problema. El problema es que se pisen.
Operaciones por segundo2.0
Cada cuánto alguien saca dinero.

Qué mirar: con Sin protección, mira la línea de tiempo: los dos cajeros leen el mismo saldo antes de que ninguno haya guardado. Cuando el segundo escribe, borra el trabajo del primero, y ese dinero sale de la cuenta sin descontarse. Pulsa Con bloqueo y el segundo espera su turno: más lento, y correcto. Esa espera es el precio de que las cuentas cuadren.

Ver las ecuaciones — los números de abajo son los de ahora mismo, cambiando en directo