Thomas’ Write Rule
To ensure replicas end up in the same state
- Tag each data item with a timestamp
- A transaction updates the value and timestamp of data items (timestamps monotonically increase)
- An update to a replica is applied only if the update’s timestamp is greater than the data item’s timestamp
- You only need to keep timestamps of data items that were recently updated (where an older update could still be floating around the system)
All multi-master products use some variation of this
Robert Thomas, ACM TODS, June ’79
- Same article that invented majority consensus