- Este artículo analiza el concepto de Two-Phase Locking (2PL), un método general de control de concurrencia inventado hace unos 50 años.
- 2PL ofrece niveles de aislamiento más fuertes, como Serializability y Opacity, y se utiliza para transacciones sobre múltiples elementos de datos.
- El autor destaca como principales ventajas de 2PL su simplicidad y sus fuertes niveles de aislamiento.
- Sin embargo, 2PL tiene desventajas como una baja escalabilidad de lectura y progreso con live-lock.
- El autor presenta Two-Phase Locking Starvation-Free (2PLSF), un nuevo control de concurrencia que resuelve los problemas de 2PL.
- 2PLSF utiliza un mejor bloqueo reader-writer y ofrece transacciones libres de inanición, la forma más alta de progreso con bloqueo.
- 2PLSF es eficaz para resolver ciertos tipos de conflictos, por lo que puede escalar incluso cuando ocurren algunos conflictos.
- El autor concluye que 2PLSF es una mejora importante frente a 2PL, y lo compara con la diferencia entre un martillo neumático y un pico.
- El artículo incluye enlaces a un paper sobre el algoritmo 2PLSF y a su código fuente para profundizar en el tema.
1 comentarios
Opiniones de Hacker News