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
actively.

-- 
Martijn Pieters
_______________________________________________
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to