[Zope] Local FS

Kent Polk kent@goathill.org
Thu, 4 May 2000 23:29:36 -0500 (CDT)


Jason Spisak wrote:
> Kent Polk writes:
> 
> > On 2 May 2000 14:15:02 -0500, Jason Spisak wrote:
> > >How far away from being an alternative form of storage for Zope is LocalFS?
> > > I'm talking ZClass instances mostly.  A robust data storage facility for
> > >Zope objects in files rather than a sigle large file.  With the RIPP
> > >(ZPattern and the like) the backend is going to cease to make a difference
> > >to propertysheets, and having the local filesystem (XFS/ReiserFS) for write
> > >intensive stuff is a must have for Zope.
> > >
> > >Just wondering what your opinion on it is.
> > 
> > As long as the data is *only* changed from inside Zope, it shouldn't
> > be a large problem. I wrote a few dumb 'LocalFS'-type file-system
> > products which are queryable (and mineable) and also return ZRDB
> > Results objects, including a couple of folderish directory classes
> > which can be easily walked via dtml-tree.  However, there is a big
> > problem with object caching if you plan on a: caching and b: updating
> > via the filesystem.  I never did figure a way around those problems.
> 
> Hmmm. Interesting.  I am looking into implementing the RIPP model first in
> a system, then allowing the backend source to be more write intensive for
> instances.  The Multiple ZODB files seems like a very back burner type
> issue.  It was moved over to zope-dev as well.

If I still end up pursuing a fs-based object storage mechanism or
even fs-sourced object caching (objects are built from fs info but
not directly stored therein), I suspect it will be done as a separate
server. I don't quite see how to get around the problems and having
a separate server offers some interesting possibilities. Heck, the
alternate server might even be a separate zserver...

For my fs-based table objects I am still considering using the
backend table methods that the new version of Gadfly is supposed
to provide. Lose some object capabilities but gain some sql ones...
My problem is that the tables are modified externally from zope so
either I can cache the table objects or I can allow them to be
updated outside of the filesystem, but not both.

It sounds a bit like what you want can be handled entirely from
Zope once the fs objects are loaded into the zodb, so it might be
ok to only allow updates via zope unless you are willing to restart
the zope server.