----- Original Message -----
From: "Brian Brinegar" <[EMAIL PROTECTED]>
Sent: Wednesday, September 13, 2006 9:22 PM
Subject: [Zope] ZEO with Multiple Storages
We currently have a ZEO environment with FileStorage (data.fs) over 100
gigs, which continues to grow. Currently we are approaching a major
hardware and software upgrade. All new hardware and moving from Zope 2.6
to Zope 2.9.
Our server hosts sites for several different schools and departments
within our college, what I have considered doing is trying to split up the
data.fs into multiple smaller storages, possibly one per school. I suspect
if this is possible it could potentially have several benefits. The first
being that we would not have to deal with 100 gig files which are very
difficult to move around backup/restore, etc. Secondly, we often have a
very large number of users updating content at a given time and will run
into slowdowns where a transaction is blocked while another commits. I
hope that multiple storages could allow for a transaction to commit to one
storage at the same time as another, though I am not sure. Along this line
can a single transaction commit to multiple storages?
If you mean having zope commit a single transaction to multiple storages,
then 'vanilla' zope won't do it (Zope Corp has a commercial product called
ZRS which does this type of thing).
Alternatively, if your server is disk-bound then you could look into RAID
disk striping to try to improve performance.
First off, does this make any sense? Is it worth pursuing? Secondly, I
assume that where an object is stored does not limit what other objects it
can access in a transaction (e.g. object A could add a property to object
B if they were in different storages) because all changes would occur in a
client. (this ties into the single transaction committing to multiple
If this does makes sense is there any documentation, recommendations, best
practices for how to set something like this up?
Lastly, any thoughts on how we could split up our existing data.fs file?
One thought I had was to attempt to import/export data.
If you have the time and hardware you could easily set up several zeo
servers on different 'back-end' hardware servers (ie. put each zeo server on
its on computer) to improve performance, increase reliability/robustness,
etc. Your 'use case' in which you have different schools and departments
would lend itself to this kind of distribution (put the biggest/heaviest
users on their own servers, group together smaller/lighter users on shared
You just need to define a mount point (in zope.conf) for each different zeo
server (and set up each zeo server of course).
If you already have the data for the various schools & depts stored in
separate folders, it would be easy to export each 'school' folder and then
import it into the new configuration.
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -