a brief history of time
play

A Brief History Of Time In Riak Time in Riak Logical Time Logical - PowerPoint PPT Presentation

A Brief History Of Time In Riak Time in Riak Logical Time Logical Clocks Implementation details Mind the Gap How a venerable, established, simple data structure/algorithm was botched multiple times. Order of Events Dynamo And


  1. Riak 0.n Client Side IDs • Client Code Provides ID • Riak increments Clock at API boundary • Riak syntactic merge and stores object • Read, Resolve, Rinse, Repeat.

  2. Client Riak API Riak Vnode

  3. Riak Vnode

  4. Conflict Resolution • Client reads merged clock + sibling values • sends new value + clock • new clock descends old (eventually!) • Store single value

  5. Client Version Vector What Level of Consistency Do We Require?

  6. https://aphyr.com/posts/313-strong-consistency-models

  7. TEMPORAL TIME B B A A GET GET PUT PUT

  8. RYOW • Invariant: strictly increasing events per actor. • PW+PR > N • Availability cost • Bug made it impossible!

  9. Client VClock • Read not_found [] • store “bob” [{c, 1}] • read “bob” [{c, 1}] • store [“bob”, “sue”] [{c, 2}]

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend