On Tue, Feb 1, 2011 at 10:54 AM, Greg Hudson <ghud...@mit.edu> wrote: > On Tue, 2011-02-01 at 10:29 -0500, C. Michael Pilato wrote: >> I can only really speak for the BDB side of things, but... "what he said". > > I'll elaborate a little bit. API issues aside, we're used to putting > artifacts from different versions in different places. More so in FSFS, > where it was baked into the initial architecture, but also in BDB for > the most part. > > The most efficient storage for large directories which frequently change > by small deltas would be some kind of multi-rooted B-tree. To do that > efficiently (that is, without scattering each tiny change into a > separate disk block, requiring lots and lots of opens/seeks/reads), > you'd want to put artifacts from different versions of a directory all > in the same place. You might be able to arrange it so that modifying a > directory is an append-only operation, avoiding the need for a lot of > copying, but you'd still want a place to append to for each directory, > which isn't how FSFS or BDB works. > > So, I'm not sure we can ever have efficient handling of this use case > without designing a completely new back end--which wouldn't be a > terrible idea if someone's up to it.
There's been a bit of talk here and there about a new back end, but nothing concrete just yet. Thanks all for the insight. -Hyrum