couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davies, Owain" <>
Subject Fundamentals Question on CoucheDB's append only b+tree.
Date Tue, 13 Mar 2012 17:26:31 GMT

I have been reading the couchDB guide, particularly the appendix on the
power of b-trees. As I understand it couchdb uses a b+tree, in which the
leaf nodes have pointers to their siblings to facilitate quick in-order
and reverse in-order enumeration of the documents in the b+tree.

When a document is modified (or added), then the document is appended to
the file, the leaf node is cloned and updated to point to the new
document. However in order to maintain the linked list between the
sibling leaf nodes, you would need to update the adjacent link nodes
(creating new leaf nodes appended onto the end of the file), this will
eventually require that the whole tree is replicated, not just the node
on the path to the effected leaf node.

I do not think this can be the case, could somebody point out where I
have made the mistake? 



Please consider the environment before printing this email.
This message should be regarded as confidential. If you have received this email in error
please notify the sender and destroy it immediately.
Statements of intent shall only become binding when confirmed in hard copy by an authorised
The contents of this email may relate to dealings with other companies under the control of
BAE Systems plc details of which can be found at
Detica Limited is a BAE Systems company trading as BAE Systems Detica.
Detica Limited is registered in England and Wales under No: 1337451.
Registered office: Surrey Research Park, Guildford, Surrey, GU2 7YP, England.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message