Hi, 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. Thanks. Patrick Gelin Chef de projet RPN Office de la Statistique et de l'Informatique Scolaire Tour Espace-Citée, 4ième étage CH-2300 La Chaux-de-Fonds Tél: +41 (0)32 919 79 13 Email: patrick.gelin@rpn.ch
Gelin Patrick wrote:
Hi,
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.
You have several different options. But if you just upload a file through the web interface, it will get stored in the ZODB. But there are ways to get them stored in file directory instead. The best approach depends on what you want to acheive. regards Max M
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
participants (3)
-
Gelin Patrick -
J Cameron Cooper -
Max M