Capítulo 6. Transacciones y bloqueo

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El uso de bloqueos para el aislamiento de transacciones es un pilar de las bases de datos SQL, pero también es un área que puede causar mucha confusión, sobre todo a los recién llegados. Los desarrolladores suelen pensar que el bloqueo es un problema de la base de datos y pertenece al ámbito de los DBA. Los DBA, a su vez, creen que es una cuestión de aplicación y, por tanto, responsabilidad de los desarrolladores. Este capítulo aclarará lo que ocurre en situaciones en las que distintos procesos intentan escribir en la misma fila al mismo tiempo. También arrojará luz sobre el comportamiento de las consultas de lectura dentro de una transacción con los distintos tipos de niveles de aislamiento disponibles en MySQL.

En primer lugar, definamos los conceptos clave. Una transacción es una operación realizada (mediante una o varias sentencias SQL) en una base de datos como una única unidad lógica de trabajo. Todas las modificaciones de las sentencias SQL de una transacción se consignan (se aplican a la base de datos) o se revierten (se deshacen de la base de datos) como una unidad, nunca sólo parcialmente. Una transacción de base de datos debe ser atómica, consistente, aislada y duradera (el famoso acrónimo ACID).

Los bloqueos son mecanismos utilizados para garantizar la integridad de los datos de almacenados en la base de datos mientras ...

Get Aprender MySQL, 2ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.