I learned about CRDTs and logical clocks not so long ago.
I tried to read the original Lamport paper and different articles on this topic.
I have a feeling that usage of the term sequencing is a little bit misleading.
For example, in this sentence: "They help us figure out sequencing".
I think logical/vector clocks help us to define deterministic sequencing across replicas, but figuring out real sequence of events is impossible. It's easy to imagine that if replicas are not in sync for a long period of time, they logical clocks would be way out of sync.
Yes if it’s not a storage where all reads go through a single entrypoint, then if they diverge for a long time then data will get corrupted. Thankfully cloud services abstract these away from us and they rarely happen. I might read more about DynamoDB now that you bring this to mind.
Thanks for the article!
I learned about CRDTs and logical clocks not so long ago.
I tried to read the original Lamport paper and different articles on this topic.
I have a feeling that usage of the term sequencing is a little bit misleading.
For example, in this sentence: "They help us figure out sequencing".
I think logical/vector clocks help us to define deterministic sequencing across replicas, but figuring out real sequence of events is impossible. It's easy to imagine that if replicas are not in sync for a long period of time, they logical clocks would be way out of sync.
Am I wrong here?
Yes if it’s not a storage where all reads go through a single entrypoint, then if they diverge for a long time then data will get corrupted. Thankfully cloud services abstract these away from us and they rarely happen. I might read more about DynamoDB now that you bring this to mind.