[Zope] About uploaded files...

J Cameron Cooper jccooper@jcameroncooper.com
Fri, 11 Jul 2003 14:24:18 -0500


>
> I’m looking for information about uploaded files. I would like to know 
> how files like Microsoft WinWord documents are stored when I use CMF 
> or Plone. Are they stored inside ZODB or to a file system? What I’m 
> afraid is that ZODB size explodes… We are expecting more than 30000 
> users with a lot of document’s upload.

By default they would be stored as objects in the ZODB. True, the ZODB 
will become quite large, but in general this is not a problem unless:

1) you have an old or broken Python without Large File support.

2) your documents will be changing often, and you don't want to keep 
historical versions. At all. And you have disk space issues.

3) your filesystem really sucks with large files.

4) you need the files on the filesystem for other reasons.

Other than that, there's really no penalty to storing files in the ZODB: 
they have to go somewhere, right? and the ZODB doesn't suffer on 
performance with size so far as is known.

Solutions to the above problems, by the way, are

1) get a good Python setup.

2) pack often, or get a Storage with non-Undo cababilities. 
DirectoryStorage is a good solution to this (and a number of other things.)

3) most filesystems don't have this problem, but if you do, you can get 
a better FS. Not much of an option on Windows, but on Linux (or Irix!) 
you could go with XFS. or one of its philosophical kindred.

4) use one of the various products designed to do this. It's trickier in 
CMF-land, but can be done. There's CMFExternalFile, APE, LocalFS, and 
friends.

--jcc