On Nov 5, 2013, at 1:13 PM, Jim Klo <[email protected]> wrote: > It seems to me that one could build an add-on to any database to support this > I think?
Yes, but you need to add a significant amount of metadata to each document/record/row since you need to track its revision tree[1]. (I am currently building exactly such an add-on so I know whereof I speak :) > 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. There are a couple of re-implementations of the CouchDB replication protocol: PouchDB and Couchbase Lite (in both Objective-C and Java implementations). I have my own documentation of the replication algorithm[2] and there’s another description that’s recently been added to the CouchDB docs. I don’t know about “straightforward” … it’s not rocket science, especially now that there is actual documentation of the protocol, but it’s a fairly complex engineering task, especially the failure handling. —Jens [1] Gory details in the 2003 paper "The Hash History Approach for Reconciling Mutual Inconsistency”: <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.12.5482&rep=rep1&type=pdf>. I don’t know for sure, but I suspect this paper was an influence on the design of CouchDB since what it describes is very similar to the way CouchDB replication works. [2] https://github.com/couchbase/couchbase-lite-ios/wiki/Replication-Algorithm
