[aerogear-dev] Data Sync braindump

Douglas Campos qmx at qmx.me
Mon Dec 2 21:21:31 EST 2013


Howdy!

Since we're starting the data-sync sprint, I'd like to bring some of the
ideas that born from the research I've been doing.

Note that those are only ideas that will be validated by a PoC or
something like this (which I'm planning to continue working on after I'm
back from PTO)

I envision a layered approach:

1) CouchDB Sync Protocol

This is an approach that I really like a lot - it has lots of common
things with git (keeping SHAs of the document's state and history of
changes (until you compact your history)). The main advantage is that we
can re-use all the nice algorithms we already have on the git lands to
solve conflicts.

2) OT/EC

This is really nice & well-known, but I think it would apply better for
individual fields into a document.

3) Crypto signatures

We could have ed25519 signatures on the changes, making it potentially
safer to decide who should win a change conflict based on rules that
goes beyond simple merging strategies (business roles?)

All this 3 layers could live on top of a very simple JSON protocol,
which would allow us to evolve it gradually (I know this is prone to not
be super efficient, but I don't want to optimize prematurely, and JSON
compresses really well)

Thoughts?

Don't forget to read Summer's thread on this. (can someone reply with
the link?)

-- 
qmx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 527 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/aerogear-dev/attachments/20131203/b5fdf23b/attachment.bin 


More information about the aerogear-dev mailing list