Theory behind CB Mobile's design

32 views
Skip to first unread message

Daniel McGreal

unread,
Apr 17, 2015, 12:41:27 PM4/17/15
to mobile-c...@googlegroups.com
Hi all,
I was hoping to get a better theoretical understanding of distributed databases. Since I know CBM quite well I thought I would ask you guys what should be the relevant keywords I can use to find information that talks about distributed database concepts at a high level and at a low level might help explain things like:

* Compound sequence numbers,
* Version numbers with incremental and UUID parts,
* How to handle revision trees?
* Strategies for winning revision?
* etc?

Thanks! Dan.

Jens Alfke

unread,
Apr 17, 2015, 12:56:08 PM4/17/15
to mobile-c...@googlegroups.com

> On Apr 17, 2015, at 1:27 AM, Daniel McGreal <iamnotinthema...@googlemail.com> wrote:
>
> * Compound sequence numbers,

“Vector clock” is the generic term.

> * How to handle revision trees?

There’s a 2003 paper "The Hash History Approach for Reconciling Mutual Inconsistency” that might have been an influence on CouchDB. Somewhat related are hash trees aka Merkle trees.

> * Version numbers with incremental and UUID parts,
> * Strategies for winning revision?

As far as I know, these are specific to CouchDB (and databases inspired by it.)

CouchDB itself was strongly inspired by the architecture of Lotus Notes (Damien Katz worked at Lotus/IBM for a few years.)

—Jens
Reply all
Reply to author
Forward
0 new messages