HACKER Q&A
📣 mfbx9da4

Are there any databases backed by CRDTs?


I’ve come across CRDTs and I’m excited for their potential but I’m concerned that it doesn't really play nicely with databases that I know of. Regardless of whether I use CRDTs during transport, whenever I update my database state, I will still have to do some kind of locking beit pessimistic or optimistic before writing data.

Unless there is a DB which accepts CRDTs, OTs or some kind of patchsets as part of its DSL and it handles the concurrency internally? Are there any such databases?

Effectively a very sophisticated version of the `UPDATE` command.


  👤 lurkshark Accepted Answer ✓
SoundCloud's Roshi database is built on LWW-Element-Sets, but doesn't have an explicitly CRDT-based API. It looks like they no longer use it internally, however.

https://developers.soundcloud.com/blog/roshi-a-crdt-system-f...

https://github.com/soundcloud/roshi