[ZODB-Dev] how big can a ZODB get?

Tim Peters tim at zope.com
Wed Jan 12 15:07:26 EST 2005


[Victor Ng]
> Thanks Jeremy!
>
> I have two questions though:
>  - What's a hop?

ZODB stores a rooted, directed graph of objects.  "A hop" is one edge in the
graph.  The objects one-hop from an object O are the objects directly
reachable from O (typically via named attributes of O, like
O.some_attribute).

>  - What's a second-class persistent object?

A Jeremyism <wink>.  It means any object stored in ZODB whose type isn't a
subclass of Persistent.  For example, all builtin Python objects (ints,
floats, strings, lists, dicts, ...) are "second-class".  They can be stored
in ZODB if a Persistent ("first-class") object contains them, but don't have
(persistent) object ids of their own; the persistence machinery doesn't
notice when they get mutated; they can't be loaded in a ghost state.

You should find Jim Fulton's intro to ZODB helpful:

http://www.python.org/workshops/2000-01/proceedings/papers/fulton/zodb3.html



More information about the ZODB-Dev mailing list