[Zope-dev] Gadfly, ZODB

Rob Page rob.page@digicool.com
Mon, 1 Nov 1999 09:55:44 -0500


Sergey wrote:
> Would you tell me, please.Zope in operating time holds documents, 
> methods, products (all that is in ZODB) in memory or reads out in 
> memory as required. At use Gadfly from Zope all tables Gadfly are 
> loaded into memory. What quantity of operative memory is necessary 
> for use Zope, Gadfly? 

Zope uses an rather robust Object database for the storage of DTML
Documents, DTML Methods, ZSQL Methods, etc..  These objects are loaded
into real memory when they are needed by the application.  They remain
in a memory cache for some amount of time until they are retired back to
disk.  There are configuration parameters in Zope for controlling how
large the memory cache is and how aggressively the Z Object Database
retires objects out of real memory.

Gadfly, on the other hand, is an external product developed by Aaron
Watters.  It has been included in Zope because it is simple to install
and provides a nice out-of-the-box relational database for people to use
when first tinkering with Zope.

AFAIK, the current incarnation of Gadfly uses real memory for all of its
data storage.  This _may_ make it unpalatable for use with large
databases. (Note -- if the real memory ramifications of suing Gadfly are
acceptable, you'll have a pretty fast database...).  Finally, the memory
requirements of Gadfly are additive with the memory requirements of
Zope.

As a result, it's easy to incorrectly assume that Zope itself is
consuming large amounts of real memory when, in reality, it might be the
Gadfly database.  I have heard a rumor that a forthcoming version of
Gadfly will be able to use disk files for storage.

Hope this helps,
--Rob

P.S. - It's much easier to reply to non-HTML formatted email messages