Coerenza esterna vs linearizzabilità


9

In Spanner, TrueTime e il teorema della PAC , Eric Brewer scrive:

Una cosa sottile di Spanner è che ottiene la serializzabilità dai blocchi, ma ottiene coerenza esterna (simile alla linearizzabilità ) da TrueTime [ enfasi aggiunta ].

Qual è la definizione di coerenza esterna e in che cosa differisce dalla linearizzabilità ?

Risposte:


10

La coerenza esterna non ha un significato fisso. In questo contesto, ha il significato che appare nella frase successiva del documento:

Per due transazioni qualsiasi, e (anche se su lati opposti del globo): se inizia a impegnarsi dopo che terminato il commit, il timestamp per è maggiore del timestamp per .T 2 T 2 T 1 T 2 T 1T1T2T2T1T2T1


0

Puoi pensare alla coerenza esterna dall'isolamento delle transazioni (Tx) e dal punto di vista dell'ordine. In Tx isolamento, la coerenza esterna equivale al rigoroso isolamento serializzabile, dove "rigoroso" è la parte del vincolo in tempo reale (come nella linearizzabilità).

Tutto ciò significa ancora che per un client di sistema gli effetti collaterali Tx osservabili sono equivalenti a un sistema, in cui tutti i Tx hanno luogo in isolamento senza alcuna concorrenza e in cui viene conservato il loro ordine in tempo reale, come visto dal client. Ancora più importante questo stesso ordinamento è visto da qualsiasi altro client non correlato.

Maggiori informazioni sulla distinzione in questo blog .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.