[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: BDB log file factoids (prbly part of why they are so big)

From: Tom Lord <lord_at_emf.net>
Date: 2003-04-06 01:30:17 CEST

       But you're right in your subsequent message that we're probably
       writing out the file contents twice to the logfile and once to
       the db, which is pretty wasteful in disk bandwidth and
       short-term space use.

Yup. That's the big thing and thanks for the sanity check -- as I
say, sorry I'm scrambling to catch up on implementation details here.

It's maybe worth repeating that for maximally robust operation,
"short-term" here means "between backups" and yadda yadda.

I'm really torn between two paths to fixing that, if one were inclined
to do so:

On the one hand, app-level journaling has all the aforementioned
benefits and is probably desirable anyway for diagnostic purposes.

On the other hand, the deeper, harder to swallow solution of changing
the data model a bit seems like the clear long-term winner to me.
To expand on that:

You use "cheap tree cloning" to do branching and tagging. I think it
has a third use: revisioning. There's no need at all to version the
entire fs -- just clone the archived sub-tree you're committing to
create a new revision and encode the new revision's name in the fs
namespace. Of course, that means introducing an explicit notion of
"project" to the abstraction, whereas currently "project" is entirely
a user policy notion carved out of the fs namespace. Looking beyond
the BDB implementation, this approach can really cut down on i/o
bandwidth and space use, not to mention improving the overall rev ctl
model. (But, yeah, the big problem with any such suggestion is the
pressure to get 1.0 out.)

So, out in "if wishes and buts were candy and nuts"-land, I guess the
Right Thing would be to take the fork in the road: add app-level
journaling AND look for an affordable way to hide (in the UI) the
revid and impose a little more structure on the fs early -- then look
into fancier BDB alternatives later.


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 6 01:21:42 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.