Внешняя согласованность и линеаризуемость

9

В Шпаннера, TrueTime и ПСП теорема , Эрик Брюэр пишет:

Одна из тонких особенностей Spanner заключается в том, что он получает сериализуемость от блокировок, но он получает внешнюю согласованность (аналогично линеаризуемости ) от TrueTime [ выделение добавлено ].

Что такое определение внешней согласованности и чем оно отличается от линеаризуемости ?

Лорин Хохштайн
источник

Ответы:

10

Внешняя согласованность не имеет фиксированного значения. В этом контексте он имеет значение, указанное в следующем предложении документа:

Для любых двух транзакций, и T 2 (даже если на противоположных сторонах земного шара): если T 2 начинает фиксировать после того, как T 1 заканчивает фиксацию , тогда временная метка для T 2 больше, чем временная метка для T 1 .T1T2T2T1T2T1

Юваль Фильмус
источник
0

Вы можете думать о внешней согласованности с точки зрения изоляции транзакций (Tx) и порядка заказа. В Tx-изоляции говорят, что внешняя согласованность эквивалентна строгой сериализуемой изоляции, где 'strict' - это часть ограничения в реальном времени (как в случае линеаризации).

Это снова означает, что для системного клиента наблюдаемые побочные эффекты Tx эквивалентны системе, где все Tx происходят изолированно без какого-либо параллелизма и где их упорядочение в реальном времени, как видит клиент, сохраняется. Что еще более важно тот же самый порядок виден любому другому не связанному клиенту.

Узнайте больше о различии в этом блоге .

Олег
источник