combate de transacciones distribuidas (b) - el concepto básico de una transacción

1 ¿Qué es una transacción

Un tipo de 可靠、一致的forma, la unidad de acceso a los programas y los datos de la operación en la base de datos.

2 propiedades ACID

No secuencia arbitraria de funcionamiento de la base de datos es una transacción de base de datos. transacción de base de datos tiene las siguientes cuatro características, conocidas como las propiedades ACID es costumbre.

  • La atomicidad (atomicidad): la transacción se lleva a cabo como un todo, en el funcionamiento de la base de datos contenida en el mismo o bien están todos ejecuta o no ejecutado
  • La consistencia (Consistencia): Los servicios deben garantizar que el estado de la base de datos de un estado consistente a otro estado consistente. Significado estado consistente de los datos en las restricciones de integridad de la base de datos se deben cumplir
  • Aislamiento (aislamiento): ejecución concurrente de múltiples transacciones, la ejecución de una transacción no debe afectar a la ejecución de otras transacciones
  • Persistente (Durabilidad): transacción ha sido presentado para modificar la base de datos deben ser almacenados de forma permanente en la base de datos

Caso 3

Alguien a utilizar el dinero electrónico para comprar algo en la tienda $ 100, incluyendo al menos dos operaciones:

  • La reducción de la cuenta de 100 yuanes
  • cuentas de tiendas aumentaron 100 yuanes

sistema de gestión de base de datos transaccional (DBMS transaccionales) es asegurar que más de dos operaciones (el todo "transacción") se puede completar, o cancelado juntos, de lo contrario, 100 yuanes caso sin razón ha desaparecido, o aparecerá.

Pero, en realidad, un alto riesgo de fracaso. Durante la ejecución de una transacción en la base de datos, es posible encontrar falla una transacción, el / error sistema operativo sistema de base de datos, e incluso el medio de almacenamiento tal como un error. Esto requiere una transacción DBMS no puede realizar la operación de restauración, la base de datos va a restaurar su estado a un estado coherente (estado de consistencia de los datos garantizada). Con el fin de alcanzar el estado para restaurar la base de datos a un estado consistente funciones, DBMS por lo general se requiere para mantener un registro de transacciones de datos a una base de datos para realizar un seguimiento de todas las transacciones que afectan las operaciones.

operaciones de transacción SQL 4 MySQL

BEGIN TRANSACTION;
UPDATE t user SET amount = amount-100 WHERE username = 'Java';
UPDATE t user SET amount = amount+ 100 WHERE username = 'Edge';
COMMIT
-- ROLL BACK

Entonces la pregunta es, Java, ¿cómo funciona?

  • proceso de gestión de transacciones JDBC
Connection conn = getConnection();
conn.setAutoCommit(false);
Statement stmt1 = conn. prepareStatement(updateUser1SQL); 
stmt1.executeUpdate();
Statement stmt2 = conn.prepareStatement(updateUser2SQL); 
stmt2.executeUpdate();
conn.commit(); // or conn.rollback (); 事务的提交/回滚

Echa un vistazo al nivel de aislamiento de MySQL

SELECT @@GLOBAL.tx_ isolation, @@tx_isolation;

referencia

发布了373 篇原创文章 · 获赞 483 · 访问量 30万+

Supongo que te gusta

Origin blog.csdn.net/qq_33589510/article/details/104871528
Recomendado
Clasificación