[Zope-dev] Re: AdaptableStorage

seb bacon seb@jamkit.com
Tue, 21 Jan 2003 11:09:14 +0000


Chris Withers wrote:
> seb bacon wrote:
> 
>> Since every storage will have its own unique notification scheme, 
>> which may be more or less inefficient (worst case scenario, periodic 
>> polling of entire storage for recently modified items), it might make 
>> sense to have a "notification server."  It would make it simpler for 
>> users to create custom storage transaction alert handlers.
>>
>> For different cache invalidation scenarios, Zope could poll the server 
>> as well as get poked.
> 
> 
> I'd prefer just to have a method somewhere that, as Shane suggested, 
> could be hit by URL, etc.
> 
> A whole seperate server seems like overkill...

But what about, for example, databases which don't have an efficient way 
to do callbacks to external applications?  You may have to do a "SELECT 
id FROM tblObjects WHERE timestamp > some_time" or a similar kludge from 
a polling server.  You may want this server to reside at the same 
location as the RDBMS, rather than as a thread in Zope.

I'm worrying that if we are not to be restricted to Oracle or bleeding 
edge kernels, the notification part of the cache invalidation scheme may 
be (a) kludgy, (b) inefficient, and (c) utterly different in design 
between different storages.  A server could offer a layer of indirection 
which could provide a single API for Zope to see, an opportunity to take 
the process load somewhere else, and a pluggable interface for writers 
of storages.

On the other hand, I don't know much about RDBMS callbacks or filesystem 
accounting, so I could be inventing a problem to solve :-)

seb