Open Source Applications Foundation

[Dev] ZODB for object persistence [Was: ZODB is not a Storage Technology]

Jeremy Hylton Mon, 11 Nov 2002 16:45:15 -0500


>>>>> "MS" == Morgen Sagen <morgen@osafoundation.org> writes:

  MS> The 20,000/300 figures aren't related to ZODB, they're from a
  MS> BerkeleyDB test I did comparing transactional/non-transactional
  MS> writes (I discovered the cache was set too small so disregard
  MS> those numbers).  The ZODB test I wrote a while ago did this:

There are lots of tuning parameters for BerkeleyDB, and they matter a
great deal.  ZODB has fewer parameters, but they probably matter just
as much.  One example is the DB cache size, although this probably has
no effect on an object creation benchmark.

  MS> - Create 1000 object instances (subclass of Persistence), assign
  MS>   3
  MS> properties, add to OOBTree, commit()
  MS> - Repeat 10 times

  MS> For ZODB3.1(B1), I got the following objects/sec:

  MS> - Minimal (BerkeleyDB) = 1800/sec
  MS> - Full (BerkeleyDB) = 100/sec
  MS> - FileStorage = 3030/sec

These numbers all look pretty plausible to me.  FileStorage is doing a
lot less work than BerkeleyDB, so I expect it will always be faster.
Note that ZODB 3.2 is going to have a significant rewrite of the
(experimental) BerkeleyDB storages.  With luck, they'll become stable
rather than experimental by 3.2 final.

  MS> For ZODB4, I tested only the FileStorage:

  MS> - FileStorage = 1200/sec

I doubt any other storage work <0.5 wink>.

Jeremy