I've been thinking about the problems of memory use. One use case that seems
hard is web crawlers. That will wake up a lot of objects for just a single
read possibly getting rid of many often used objects from the zodb cache.
Has anyone investigated the idea of a generational cache?
Another idea I had was asymetric cache sizes. I believe that zope uses a
single thread if all requests are serial and just uses the other connections
when similtanious requests are handled. Since some threads will be less used
than others perhaps there could be cache settings so memory can be
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org