On Wed, Nov 13, 2013 at 9:24 AM, Jens W. Klein <j...@bluedynamics.com>wrote:
> Thanks Martijn for the hint, but we are using a history free database, so
> growing does only happen by deleted objects in our case.
Right, that is an important distinction.
> When in history free mode, is it possible to detect deleted objects at
> store-time? This way we could add the zoid at store time to a
> objects_deleted table in order to clean them up later.
No, because multiple references to an object might exist. There is no
reference counting in a ZODB, hence the intensive manual tree traversal job
when garbage collecting.
> Another way to speed up graph traversal would be to store the
> object-references in a field of object_state. At the moment we have to read
> the pickle in order to get the referenced zoids. Storing additional -
> redundant - information might be not perfect, but it would allow to pack/gc
> the database without any knowledge about the state objects structure, i.e.
> using a stored procedure.
That sounds like a feasible idea, at least to me.
> I would like to know what the relstorage experts think about this ideas.
You may want to contact Shane directly, he *may* not be reading this list
For more information about ZODB, see http://zodb.org/
ZODB-Dev mailing list - ZODB-Dev@zope.org