Calvin (BD determinista)
Una arquitectura (paper de investigación de 2012) para bases de datos distribuidas que primero decide un orden global de todas las transacciones y luego las ejecuta de forma determinista en todas las réplicas. Como todas siguen el mismo orden predeterminado, no hace falta commit en dos fases entre los nodos.
Idea: invertir el orden normal — en vez de ejecutar las transacciones y luego coordinar el resultado, todos los nodos PRIMERO acuerdan una secuencia (vía un "secuenciador" + consenso) y luego ejecutan las transacciones exactamente en ese orden. Como la ejecución es determinista, todas las réplicas llegan al mismo resultado sin comunicarse durante la ejecución en sí → sin coordinación de commit distribuido, sin deadlocks distribuidos. Precio: el conjunto de lectura/escritura de las transacciones debe conocerse de antemano (difícil para transacciones interactivas), y todo se serializa a través del secuenciador. FaunaDB se construyó sobre las ideas de Calvin. Un paradigma alternativo al estilo Spanner/Percolator. Demuestra que el determinismo puede sustituir a la coordinación costosa.