HeadlinesBriefing favicon HeadlinesBriefing.com

Cómo manejan los datos la concurrencia

ByteByteGo •
×

Imagina una cuenta bancaria con 100 dólares. Dos solicitudes de retiro de 10 dólares cada una llegan simultáneamente. Ambas completan exitosamente sin errores, pero el saldo final termina en 90 dólares en lugar del correcto 80 dólares. Cada transacción leyó el saldo correcto y calculó correctamente, pero su superposición causó corrupción de datos. Este escenario ilustra un desafío fundamental: las transacciones superpuestas son la condición operativa normal de las bases de datos, no excepciones raras. En cualquier momento, múltiples procesos escriben en los mismos registros, y las colisiones dentro de los milisegundos crean estos errores.

El artículo explora cómo los datos se corrompen a través de cuatro patrones de conflicto distintos. Luego examina dos estrategias principales de resolución: Bloqueo Pessimista, que bloquea el acceso de antemano, y Bloqueo Optimista, que permite que las transacciones avancen y verifica conflictos después. Finalmente, cubre cómo las bases de datos evolucionaron para evitar que lectores y escritores se esperen mutuamente, y cómo los niveles de aislamiento permiten a los desarrolladores elegir el nivel adecuado de protección de datos. La pieza concluye con la innovación que hizo que los ajustes de seguridad más estrictos fueran prácticos para su uso en producción.