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

Reply via email to