Foundationপ্রথম নীতি থেকে
LEVEL 9 · Distributed Systems

OR-Set

ওআর-সেট

Observed-remove set — add/remove unique tag নিয়ে চলে; concurrent add+remove-এ add wins।

also: observed-remove-set, add-wins-set

add(x): tag u1 তৈরি → elements[x] += {u1}
remove(x): যে tag দেখেছি শুধু তারা মুছি → tombstones += observed(u1)

replica A: add(u2) ─┐        u2 জীবন্ত — add-wins
replica B: remove({u1}) ─┘
  • ‘Observed’ শব্দটাই সারকথা: remove value নয়, tag মেরে — না দেখা add মরার ভয় নেই, তাই add-wins semantics স্বয়ংক্রিয়
  • খরচ: tag আর tombstone জমে — GC-তে minimum active tag + stable vector clock condition
  • Shopping cart sync, collaborative checklist, Riak sets — যেখানে ‘একসাথে add আর delete হলে add জিতুক’ ব্যবসায়িকভাবে ঠিক