[elephant-devel] Discussions

Ian Eslick eslick at media.mit.edu
Sat May 17 20:37:25 UTC 2008


>
> In this model, the Persistence Layer doesn't help you with ACID
> properties.  This works if you assume that Domain Object Layer is the
> ONLY thing that can touch the database.  From an organization point of
> view, the Manager is the central point of contact for a collection of
> objects (like accounts), and nobody is allowed to permanently  
> manipulate
> an account except via operations defined on the Manager.  The Manager
> can therefore be responsible for concurrency control.
>
> Concurrency at the domain object level could be done via
> versioning/journaling as in Rucksack, or via locks.  I have never used
> the former, but it sounds like a great idea.
>

I hadn't realized that you were relying on the Manager to lock  
objects, and that only one can be used at a time when 'checked out'.

>>
> This does sound exciting.  I guess however that Rucksack offers two
> quite different things:  A pre-exising Btree implementation, and an
> in-memory versioning concurrency control model.  I assume that you are
> mentioning these together because the Rucksack Btree by itself would  
> not
> give us an ACID transaction model, as we currently have with the other
> backends.

That is correct.  The data store is responsible for ensuring, within a  
transaction body, all of the ACID properties for any access to  
persistent objects (unless you are using caching, see prior e-mail).

Ian





More information about the elephant-devel mailing list