On Wednesday, April 06, 2011 03:22:48 PM Lamar Owen wrote:
> On Wednesday, April 06, 2011 02:33:24 PM John R Pierce wrote:
> > On 04/06/11 7:56 AM, Lamar Owen wrote:
> > > I really really wish repositories would be ACID compliant.
> >
> > I concur, but I'm not sure how you'd do this, since some users will be
> > in process with an update under 1 state while the repo switches to the
> > new state, even if that state switch is instantaneous.
>
> Pipe dream: MultiVersion Concurrency Control, like PostgreSQL implements
> it, but for packages instead of regular tuples. Hrmph, PostgreSQL
> BLOB/bytea support is good enough to serve packages out of, now..... A
> reader will always get consistent data in an MVCC scheme.
You wouldn't want to store the actual packages in the DB though... Instead, you'd store paths to the files. When new updates come in, download them, insert the records for a consistent view and so on. Then, have a background process, or even triggers, clean up the files that are no longer needed...
However... (see below)
>
> Yeah, I know, I should know better. But I was told that same thing years
> ago when I first started advocating delta rpms. Now we (well, not CentOS,
> but upstream Fedora at least) have presto, and, yeah, it works great.
This is very different than the delta rpms though... delta rpms and all that still works with a simple http server. For a mvcc you'd need a backend to have an actual DB, scripting backend and such...
Peter.
--
Censorship: noun, circa 1591. a: Relief of the burden of independent thinking.