[Zope-dev] Specialist/Rack scalability

Michael Bernstein webmaven@lvcm.com
Sun, 21 Jan 2001 14:17:11 -0800


Steve Alexander wrote:
> 
> Michael Bernstein wrote:
> 
> > There is some question in my mind if
> > accessing any attribute (such as the thumbnail version)
> > causes all attributes to be loaded into memory. If so,
> > displaying a list of images with thumbnails may result in
> > many large objects being loaded into memory.
> 
> Make sure that each large attribute is an instance of a class that
> derives from Persistent.

Ok, I'll give that a try. Since Photo is a Python Product,
what will happen to current instances if I make this (and
only this) change?

> Of course, if this is a ZPatterns application, you'd probably want to
> have the images in their own Rack, and use an Attribute Provider on your
> Photo objects that gets the images for a Photo as needed. The Photo
> (with meta-data) and the images are entirely different objects, accessed
> via different Racks, via different Specialists.

I'm not certain that that makes sense, since the Images are
really cached 'views' of the Photo object. When a new image
is uploded to replace an existing one, *all* versions
(thumbnails, small, medium, large, etc) are regenerated.

But assuming that I went so far as to break out the Images
to their own Rack, would you reccomend that each image size
have a dedicated Rack, or would you suggest that all images
be stored in the same Rack?

Thanks,

Michael.