lucaong / cubdb

Elixir embedded key/value database
Apache License 2.0
529 stars 23 forks source link

CRDTs and CubDB? #18

Open andyl opened 4 years ago

andyl commented 4 years ago

I'm working on a mobile Nerves app that will experience periods of disconnection. Disconnected users will create/update/delete records, then re-sync upon connection.

I think this would be a good use-case for CRDTs. I'm curious if anyone has used CubDB with CRDTs, or if people can suggest other sync-strategies for disconnected updates.

lucaong commented 4 years ago

Not specifically for CRDTs, but for similar scenarios in embedded software where I needed to keep a queue for re-syncing when possible, I recently open-sourced CubQ, a durable queue and stack abstraction on top of CubDB. CubQ supports "at most once" and "at least once" semantics (for the latter, check the dequeue_ack/2 function).