http://www.perlmonks.org?node_id=302888


in reply to Concurrency control in web applications

Red Hat's Enterprise CMS actually takes your third strategy to an almost absurd extreme. it's probably complete overkill for most of us, but kinda cool. :)

i went to a talk that Rafael Schloming gave on "Versioning Structured Content" where he explained Red Hat's approach. the idea is to basically keep a log of every single event at a very fine level of granularity and to ensure that every low level operation is invertible (ie, for every add, there is a corresponding delete, etc.). then, to revert to an older version, or another branch, you just construct a stream of events that will get you there. this is basically the same as how RDBMSes handle transactions internally. the only difference is that when a transaction is rolled back in an RDBMS, it can dump the log info. in a CMS, you potentially have to store everything as branches.

his slides are online.

  • Comment on Re: Concurrency control in web applications

Replies are listed 'Best First'.
Re: Re: Concurrency control in web applications
by cbraga (Pilgrim) on Oct 29, 2003 at 02:45 UTC
    Gee, I never cease to be amazed by the extremes to which some people take their stuff. Thanks.

    ESC[78;89;13p ESC[110;121;13p