UCB & Coral
bmurray at snf.stanford.edu
Tue Jun 18 08:57:31 PDT 2002
John and Mike,
Here's my response to a message from Ferenc at UCB. His message at the
bottom provides some clues to their approach with Coral.
You are correct. There were two major issues to address in modifying the
persistence layer to push all transactions, locking, and caching to the
underlying database. Connection pools would be required, and the persistence
layer would need to be modified to work correctly with these objects.
The other issue was related to locking and caching. I followed the
Object Data Management Group (ODMG) specification for persistence of
object-oriented programming language objects in databases: the Object
Data Standard ODMG 2.0. The model supports read, write, and upgrade
locks that follow the same semantics as those defined in the OMG
Concurrency Control Service. These locks are similar to those used
in relational products but do varying in significant ways. Although
we could attempt to simulate these locks using such things as the
"transaction isolation level" and "select for update", there are still
some difficult problems. For example, in our application servers we
explicitly request upgrade locks on objects. Since these objects may
already be cached and in-use by other threads with read locks, it may
be too late to attempt a "select for update" from the underlying database.
I don't believe these problems are insurmountable, just tricky and time-
consuming to address.
Good luck with your presentation to Katalin. Let me know how it goes
and what you decide.
On Mon, 17 Jun 2002, Ferenc Varju wrote:
> Hi Bill,
> I am working on the presentation for Katalin, and I realized that I will
> need to handle multiple conections in my program as well. I decided to
> create the connection pool object you mentioned. I already have a skeleton
> for it and I think that I will be ready with it in a a few days. What was
> the other issue that you were concerned about? I am sorry, but I forgot it.
> I might take care of it as well.
More information about the coral