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.