On Fri, 31 Jul 2009, Jeff Garzik wrote:
> Sage Weil wrote:
> > Hi Jeff,
> > 
> > Do you still plan to replace bdb (and it's replication) with a something
> > based on paxos?  I'm considering replacing the Ceph monitors (which
> > currently implement paxos, but in a very ceph-specific way) with cld if it
> > can meet the basic requirements.
> > 
> > What I'd kind of like to see is a clean implementation of a paxos
> > library--one that leaves out message transport and storage--to build a
> > replicated write-ahead log.  And then a separate library for handling the
> > database/namespace served up by cld (be it regular files, bdb, whatever)
> > that leaves replication up to paxos.  It looks like Google ended up doing
> > something similar with Chubby (see
> > http://labs.google.com/papers/paxos_made_live.html).
> > 
> > Does this sound like the direction you guys are heading in?
> 
> You mean something like http://linux.yyz.us/misc/paxreg.c  ?   :)

Yeah, for starters.  I'm thinking of the larger problem of integrating of 
master elections, add leasing and timeouts (to avoid querying peers for 
reads), and so forth to make core paxos usable in a practical environment.  
And the glue to bind it to the database (snapshotting and log trimming, 
catch-up, etc.).

> Yes, a straight PAXOS implementation is definitely in the plans, for similar
> reasons as Google describes:  CLD just doesn't need full db4 replicated
> transactions, when a PAXOS replicated, write-ahead logging database would work
> just fine.
> 
> That said, the urgency of this task is lowered, because current db4 (after
> much trial, tribulation and debugging) did eventually start supporting PAXOS.
> Some of the Google hints paper hint at this, noting that Sleepycat/Oracle
> "eventually" fixed all the problems -- but by then it was too late, Google had
> moved on and done their own db.

Oh okay, that makes db4 entirely usable today then!

> Most importantly, from the view of a CLD client (libcldc user), CLD will
> provide the necessary guarantees today.  When CLD switches to native PAXOS,
> the CLD client API will not change at all.  So, the switchover should be
> transparent from the client's point of view.

Of course.  :)

I'm going to look a bit more closely at what it'll take to moving ceph to 
cld, then.  Among other things, it'll mean part of cldc in the kernel, but 
should be a net architectural improvement.

sage
--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to