Al trabajar con una base de datos, a menudo es esencial usar transacciones. Digamos, por ejemplo, que quiero transferir cierta cantidad de dinero de account A
a account B
. Esto implica dos consultas:¿Cómo implementan las transacciones los proveedores de base de datos?
- disminución del dinero en la cuenta Una
- aumentarlo en cuenta B.
En teoría Puedo hacer las consultas por separado, pero los errores suceda. Entonces, para estar seguro, puedo empacar las dos consultas dentro de una transacción y asegurarme de que ambas operaciones finalicen regularmente o que nada haya cambiado. Ningún dinero desaparece o se crea.
El problema es que me parece que esto solo transfiere mi responsabilidad al proveedor de la base de datos. Ahora depende de la base de datos realizar ambas operaciones y asegurarse de que ambas estén hechas o que nada haya cambiado. Y los desarrolladores de la base de datos enfrentan los mismos problemas que los errores.
¿Qué técnicas utilizan los proveedores de bases de datos para garantizar la seguridad de las transacciones?