[Zope] ZODB or not ZODB?

Casey Duncan casey.duncan@state.co.us
Fri, 16 Jun 2000 16:35:21 -0600


I am implementing a document Library using Zope. It has an exhaustive index
with several thousand topics in an outline residing on a PostgreSQL
database. This works well and I like it.

My question is where is the best place to store the documents themselves?
They will be static HTML documents ranging from 1-50Kb in size roughly.
There will probably be at least 10,000-15,000 of these documents in the
library once all is said and done.

In my mind I have three options:

1. Store them on the filesystem.
2. Store them in a PgSQL table as blobs.
3. Store them as DTML Docs in the ZODB.

I would like to eventually have full text searching capabilities, so that
makes #1 less attractive (I would likely need my own Python method to do
it). #2 is somewhat of a pain to implement due to limitations in the PgSQL
row size and text searching would be slow. With #3 I could in theory use a
ZCatalog to implement the searching, so that is done for me.

Is ZODB up to the task of storing this quantity of objects? What problems
might I run into? Is it a wise idea, could a data.fs file of this size
(~3-400MB) become too easily corrupted? Should I use a separate data.fs file
just to store the documents (ie using mountedFileStorage)? Or is it better
to use method #1 or #2? Information from anyone with experience in this
regard is greatly appreciated.

-Casey Duncan
caseman@mad.scientist.com