Em 05-11-2013 19:42, Florian Westreicher Bakk.techn. escreveu:
Couch can and will handle net splits. If you use the replicator db. Conflicts
will be detected and a winning version is determistically chosen on each node,
resulting in the same doc everywhere.
Thanks, that is much reasuring. Specialy because, in my particular case,
I can establish "busines rules" to avoid potencial conflicts. In case of
a netsplit each side can edit only it's side of the data.
Alain
Alain Mouette <[email protected]> wrote:
Em 05-11-2013 19:13, Jim Klo escreveu:
On Nov 5, 2013, at 11:08 AM, Ryan Mohr <[email protected]>
wrote:
Rethink caught my interest a little while back too. Looks like a
well
designed database and a great collection of tools to support it.
The immediate difference that jumped out at me (and the ultimate
reason I
chose couch over rethink) is that rethink does not and will never
support
master-master replication. See this thread for some background:
https://github.com/rethinkdb/rethinkdb/issues/1019#issuecomment-19573253
Both databases are "distributed" but in different respects. CouchDB
is
"distributed" in the same way git is "distributed" (eg we're all
equals).
RethinkDB is "distributed" in the scaling sense (sharding /
cluster-wide
queries) but there is always an authoritative master.
It seems to me that one could build an add-on to any database to
support this I think? I was actually wondering how difficult it would
be to build a 'generic replication api' that leverages the same CouchDB
replication protocol… Has anyone endeavored to try anything like this?
It seems like it should be straight forward.
In a sense it does feel a lot like BigCouch + MongoDB…
Yes, there is something like that for LevelDB:
https://npmjs.org/package/level-replicate
The reason that it uses LevelDB is because it is more basic, usualy the
backgound storage and it is therefore very fast
But I am not sure if it can recover from a Net-split which is something
that I am not even sure if CouchDB can do stand-alone
Alain