[Zope] When Does ODB Run Out of Steam?

Chris McDonough chrism@zope.com
Mon, 3 Sep 2001 19:05:17 -0400


> I can see exactly how to architect this. But my question -- which I
> can't seem to find an answer to -- is whether there's a practical
> limit (or a built-in limit) on the number of properties an object
> can/should have in the Zope built-in object database.

There is a multiterabyte built-in limit for a single ZODB.  The practical
limit is so large that I don't think anyone can claim they've actually run
in to it.  Size really isn't an issue.  If you use FileStorage, make sure to
put the FileStorage on a partition which supports large files.  If you use a
different kind of storage, keep the same advice in mind.

However, the ZODB can potentially perform suboptimally in situations where
the chance of simultaneous writes to a particular object is very great (like
a counter, or an object that gets updated on every visit on every page).
Even this can be avoided with careful coding using application-level
conflict resolution, although I suspect many folks would find it easier to
use a relational database under this circumstance than to do the necessary
voodoo to avoid write conflicts using the ZODB.  For more info about write
conflicts and app-level conflict resolution, see
http://www.zope.org/Members/jim/ZODB/ApplicationLevelConflictResolution .

You've got to weigh this against the potential gain in productivity that
comes by using the ZODB in your particular domain to decide whether it makes
sense to use a relational database for your application.

-  C