Consistencia externa vs linealización

9

En Spanner, TrueTime y The CAP Theorem , Eric Brewer escribe:

Una cosa sutil acerca de Spanner es que obtiene serialización de los bloqueos, pero obtiene consistencia externa (similar a la linealización ) de TrueTime [ énfasis agregado ].

¿Cuál es la definición de consistencia externa y cómo difiere de la linealización ?

Lorin Hochstein
fuente

Respuestas:

10

La consistencia externa no tiene un significado fijo. En este contexto, tiene el significado que aparece en la siguiente oración del documento:

Para cualquiera de las dos transacciones, y T 2 (incluso si están en lados opuestos del globo): si T 2 comienza a comprometerse después de que T 1 termina de comprometerse, entonces la marca de tiempo para T 2 es mayor que la marca de tiempo para T 1 .T1T2T2T1T2T1

Yuval Filmus
fuente
0

Puede pensar en la consistencia externa del aislamiento de las transacciones (Tx) y el punto de vista del pedido. En el aislamiento de Tx, la consistencia externa es equivalente al aislamiento serializable estricto, donde 'estricto' es la parte de restricción en tiempo real (como en la linealización).

De nuevo, todo esto significa que para un cliente del sistema, los efectos secundarios de Tx observables son equivalentes a un sistema, donde todos los Tx tienen lugar de forma aislada y sin concurrencia, y donde se conserva su orden en tiempo real, tal como lo ve el cliente. Más importante aún, este mismo orden es visto por cualquier otro cliente no relacionado.

Lea más sobre la distinción en este blog .

Oleg
fuente