[Zope-dev] OR mapping proposal

Shane Hathaway shane@digicool.com
Wed, 16 May 2001 10:03:31 -0400


Albert Langer wrote:
> 
> [Phillip]
> http://dev.zope.org/Wikis/DevSite/Proposals/ORMappingDB
> 
> Comments encouraged!
> 
> [Albert]
> I've added some there.
> 
> Jim highlighted a project Risk there:
> 
> "Updates to RDBMS data outside of the OR mapping could cause
> cached data to be inconsistent."

I agree!  In fact, Jim and others here at DC have been suggesting this
idea for a long time now, but I've always resisted because of this
issue.  But now I see two workable approaches to solving the problem:

1) Create an invalidation protocol where other applications are required
to update a special table every time they make changes to the database. 
Zope checks this table at the beginning of each transaction.  Databases
that have strong support for triggers would be able to do this at the
database level.

2) Some kinds of objects will stay in memory only for the duration of a
transaction.  PJE hinted at this and I like it.  Some people may decide
that *all* relational objects should behave this way, in which case the
decreased performance would still be equal to or slightly better than
competing projects AFAICT (since this proposal has the advantage of some
of the logic being implemented in C.)

Thanks for your comments in the wiki.  After talking with others here at
DC, it's clear I should have provided a description of the possible
solutions for some of the major issues.  We're all still learning how
the process is supposed to work.

The next step in the process is to get it reviewed, after which we can
turn this into a project.  Your comments will become a part of the
project.

Shane