Dotted Version Vectors
Let's learn what dotted version vectors are and how they provide scaling of version vectors.
We'll cover the following
Dotted version vectors is a technique that makes it possible to successfully identify concurrent versions, and allows the version vectors to scale with the number of servers.
The following characteristic of this technique allows it to achieve this.
Characteristic that makes it possible to scale version vectors
Each entry in the vector is not a single number anymore, but a pair of numbers. This can encode a sequence of numbers that are not fully sequential but contain one gap.
The pair represents all the numbers from to plus the number .
For example, the pair represents the sequence . Note that the second number is optional and some entries can still be a single number. This can be leveraged to keep track of concurrency between multiple versions.
The order between the two versions is now defined in terms of the contains relationship on the corresponding sequences. So, for vectors , the relationship holds if the sequence represented by is a subset of the sequence represented by . More specifically:
- if
- if
- if
- if
Get hands-on with 1400+ tech skills courses.