[Zope] [OT] OO/RDB
Dieter Maurer
dieter@handshake.de
Thu, 3 Jul 2003 23:26:26 +0200
Aur=E9lien Camp=E9as wrote at 2003-6-29 19:33 +0200:
> ...
> Ok, I know peanuts about the ZOBD - but the fact that it relies on the
> python pickler to stream in/out objects.=20
> The only problem I am aware of with python objects is when you build
> circular/cyclic structure with them : they won't be reclaimed by the G=
C
> whenever a cycle ceases to be referenced by some outer/parent object. =
So
> you have to implement explicit destruction (inner dereferencing) of su=
ch
> a structure.
Python now has a garbage collector which supplements reference counting
(and is able to release most cycles).
> Thus the need for a rooted tree, at least an acyclic structure for wha=
t
> lies in the ZOBD (as I understood it).
The ZODB has not problems with circular references.
Circular references (in memory) are broken when an object is deactivate=
d
(which is controlled by an incremental garbage collector
independent of Python's reference counting).
> BTW, what do you mean when you say "BTrees are not hierarchical at all=
"
> ? The fact that they're seen as a flat ordered collection at the user
> level ? Or something else ?
To make the typical BTree operations more efficient, there are additional
non-hierarchical links in the BTree structure (you can immediately
go from a subtree to the left-most leaf and all leaf buckets are linked
together).
> > > That's not to say ZOBD isn't neat and usefull, but please. I just=
hate
> > > when some knowledgeable person spreads FUD on those topics.
> >=20
> > They see the world differently from you...
>=20
> I've been a bit crude, sorry.
No problem.
Dieter