Capítulo 13. Transacciones distribuidas

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

Para mantener el orden en un sistema distribuido, tenemos que garantizar al menos cierta coherencia. En "Modelos de consistencia", hablamos de modelos de consistencia de un solo objeto y una sola operación, que nos ayudan a razonar sobre las operaciones individuales. Sin embargo, en las bases de datos a menudo necesitamos ejecutar múltiples operaciones atómicamente.

Las operaciones atómicas se explican en términos de transiciones de estado: la base de datos estaba en el estado A antes de que se iniciara una transacción concreta; cuando ésta terminó, el estado había pasado de A a B. En términos operativos, esto es sencillo de entender, ya que las transacciones no tienen un estado adjunto predeterminado. En su lugar, aplican operaciones a registros de datos que comienzan en algún momento. Esto nos da cierta flexibilidad en términos de programación y ejecución: las transacciones pueden reordenarse e incluso reintentarse.

El objetivo principal del procesamiento de transacciones es determinar historiales admisibles, para modelar y representar posibles escenarios de ejecución intercalada. El historial, en este caso, representa un grafo de dependencias: qué transacciones se han ejecutado antes de la ejecución de la transacción actual. Se dice que la historia es serializable si es equivalente (es decir, tiene el mismo grafo de dependencias) ...

Get Internos de la base de datos 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.