Vector Clock
ভেক্টর ঘড়ি
প্রতি node-এর জন্য আলাদা counter-এর vector — happens-before, উল্টো ক্রম, নাকি concurrent — exact বলে দেয়।
also: version-vector
Compare-এর চার-mুখো রায়:
a ≤ b (সব index) এবং a ≠ b → a happened-before b
b ≤ a → b happened-before a
দুই-দিকেই মেলে → equal
এক index-এ a বড়, অন্যটায় b → CONCURRENT
- Lamport clock-এর scalar অন্ধত্ব ঠিক করে — concurrent write detection Dynamo/Riak sibling-এর ভিত্তি
- খরচ O(nodes) per message; node churn-এ পুরনো entry prune করা কঠিন — version vector আর dotted version vector এই জায়গাটা কামড়ে
- Merge = element-wise max — CRDT-র join-semilattice-ও এখান থেকেই