Consistencia y aislamiento
Lecturas linealizables, instantáneas entre rangos y la ventana de incertidumbre del reloj.
Un documento
Una escritura y una lectura de un documento son linealizables: una lectura que empieza después de que una escritura se confirmó la ve, aunque haya caídas, particiones o relojes desviados.
Varios rangos
Las transacciones y las lecturas snapshot leen una instantánea a una marca del reloj híbrido (HLC), que da a cada
versión 8 bytes de milisegundos físicos y 4 de contador lógico.
La ventana de incertidumbre
Los relojes de dos nodos pueden diferir hasta 250 ms (cada uno a 125 ms o menos de la mediana). Si una lectura encuentra una versión dentro de esa ventana por delante de su marca, no sabe si ocurrió antes que ella, así que se reinicia a una marca posterior para verla. Nunca devuelve un resultado que podría contradecir el orden real.
Read concerns
local y available devuelven siempre datos confirmados por la mayoría; majority y snapshot también. Dentro de una
transacción los tres leen la misma instantánea. Las sesiones causales garantizan que una sesión ve lo que ya escribió o
leyó.