Cohérence externe vs linéarisation

9

Dans Spanner, TrueTime & The CAP Theorem , Eric Brewer écrit:

Une chose subtile à propos de Spanner est qu'il obtient la sérialisation des verrous, mais il obtient la cohérence externe (similaire à la linéarisation ) de TrueTime [non souligné dans l'original ].

Quelle est la définition de la cohérence externe et en quoi diffère-t-elle de la linéarisation ?

Lorin Hochstein
la source

Réponses:

10

La cohérence externe n'a pas de signification fixe. Dans ce contexte, il a la signification qui apparaît dans la toute prochaine phrase du document:

Pour deux transactions quelconques, et T 2 (même si de part et d'autre du globe): si T 2 commence à s'engager après que T 1 a fini de valider , alors l'horodatage pour T 2 est supérieur à l'horodatage pour T 1 .T1T2T2T1T2T1

Yuval Filmus
la source
0

Vous pouvez penser à la cohérence externe du point de vue de l'isolement des transactions (Tx) et de l'ordre. Dans l'isolement Tx, la cohérence externe est équivalente à l'isolement sérialisable strict, où «strict» est la partie de contrainte en temps réel (comme dans la linéarisation).

Cela encore une fois signifie que pour un client système, les effets secondaires Tx observables sont équivalents à un système, où tous les Tx ont lieu de manière isolée sans aucune concurrence et où leur ordre en temps réel, tel que vu par le client, est préservé. Plus important encore, ce même ordre est vu par tout autre client indépendant.

En savoir plus sur la distinction sur ce blog .

Oleg
la source