monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: Scalability question


From: Steven E. Harris
Subject: [Monotone-devel] Re: Scalability question
Date: Wed, 09 Aug 2006 08:45:51 -0700
User-agent: Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.13 (cygwin32)

Nathaniel Smith <address@hidden> writes:

> To make our life simpler, we always send stuff in such an order that
> we can simply stream it straight to the db and consistency is always
> maintained; that way we can simply hit "commit" at any time.

So the sender orders items with respect to the dependency graph such
that any referenced items arrive before any items referencing them?

> Well, merkle tries or the rsync algorithm

I've been thinking about this for several days now, and it's probably
fodder for a new thread.

Can you explain how monotone uses Merkle Tr(e|i)es during
synchronization? Specifically, what are the items or data stream being
summarized by the hash tree? My first guess is the revision graph,
flattened somehow, but feel free to correct and elaborate on that.

> to make transmissions idempotent

I can see how using hash trees avoids having to retransmit data
already held on both sides, but I take idempotent to mean that
transmitting the data (or doing anything) twice has no distinguishable
effect as opposed to doing it only once. Did you mean "avoid sending
more than we need to" or "don't worry if we send more than we need
to"?

> plus content-addressing

This one has proved to be a stumper trying to find references on the
Web, trying to avoid having to ask here. My best guess is that you're
referring to using hash values for identity, so that the same content
maps to the same identity value, making it easy to discover equal
content. But the phrase also suggests being able to look something up
with a special key. Can you clarify?

-- 
Steven E. Harris





reply via email to

[Prev in Thread] Current Thread [Next in Thread]