December 2023
Intermediate to advanced
464 pages
12h 35m
English
Use logical timestamps as a version for a value to allow ordering of values across servers.
When values are stored across multiple servers, there needs to be a way to know which values were stored before the other. The system timestamp cannot be used, because they are not monotonic, as discussed in the sidebar “Wall Clocks Are Not Monotonic” of the Lease pattern, and clock values from two different servers should not be compared.
The system timestamp, which represents the time of the day, is measured by clock machinery generally built with a crystal oscillator. The known problem with this mechanism is that it can drift away from the actual time of the day. To fix this, computers typically have a service such ...