[Zope-dev] Property Storage Bloat Question
Steve Alexander
steve@cat-box.net
Sun, 22 Jul 2001 15:26:16 +0100
Chris Withers wrote:
> Hi,
>
> If I store a moderately frequently changed property on a Folder will
> only the folder object get tacked on the end of Data.fs when the
> folder changes or will it be the folder object plus all the objects
> in the folder?
Assuming the Folder contains persistent objects, then only the folder
will be written. However, "just the folder" includes all the folder's
instance attributes, which includes a list of the ids+metatypes of the
folder's contents, as well as its security attributes, other properties
such as "title", and so on.
You can get around this in Zope by using a webdav propertysheet to store
your property in. This is a separate persistent object, and so won't
cause all the rest of your folder's attributes to be written when that
property changes.
<zpatterns_stuff>
I've got around this using ZPatterns, by using a folder that is derived
from DataSkin, and having a special attribute provider just for that one
property/attribute. Basically, I designed the app, then looked at which
properties were getting updated too often, then told ZPatterns to store
those properties in a separate BTree.
</zpatterns_stuff>
--
Steve Alexander
Software Engineer
Cat-Box limited