Terry Hancock hancock@anansispaceworks.com
Wed, 25 Jun 2003 10:34:20 -0700

On Wednesday 25 June 2003 06:04 am, Ramon Linan wrote:
> Also, I have read in a couple of books that the database 
that comes with Zope it is not very strong, I want to do a 
"project" to share pictures with my family (on the other 
side of the Atlantic), is there any reason for not using 
the DB that comes with zope.

It'll be fine for that purpose.

The ZODB with "Filestorage" arrangement that Zope comes 
with out of the box does indeed have a few flaws:

1) Its structure, being object based, is not as 
straightforward to understand, browse, or search as a 
relational database (which is virtually synonymous with 
"SQL database" nowadays).  Nor does it lend itself to 
examination by SQL tools (you can examine it from the 
Python interpreter, though).

2) It lacks really good diagnostic and repair tools 
compared with real filesystems (which includes any Linux or 
DOS filesystem -- against which it compares poorly in this 
respect).  There *are* a couple of tools, but I have to 
admit I don't really know how to use them.

3) On some systems (I don't think all, but I could be 
wrong) it will have a 2-gigabyte limit.  Of course, for you 
to hit this limit, you would have to be a very prolific 

4) Because there are fewer users and it is intrinsically 
more complex and it is newer, ZODB is not be as well tested 
as run-of-the-mill SQL databases.  So there may be bugs 
(indeed, I'm pretty sure there are a few, even though it's 
been stable enough for me).

However, I don't think any of these will be a problem for 
you. I am successfully using a ZODB/Filestorage system for 
content management on our company's site (it's a small 
site), and I don't see any reason to avoid it.  These 
problems will occur for much *larger*, *higher-use*, and 
*longer-term* use than you appear to need.

larger -- because of the 2GB limit and the general 
impracticality of dealing with really large container files.

larger/higher-use -- because of the increased probability 
of database corruption due to program errors, system 
crashes, etc.  No system is perfect, and the ZODB system 
does not (yet) provide enough repairability to deal with 
this reality.

longer-term -- because the relatively narrow range of tools 
than can work with ZODB databases means more "lock-in" to 
the Zope system.  Over time, something else may become your 
preferred system, and you may have more difficulty 
importing compared to SQL databases which are widespread 
(even if SQL effectively dies, there will be sufficient 
demand for coping with legacy databases that import should 
remain easy).

Of course, it's not impossible that there will be an 
explosion of ZODB tools in the future.

Can't address running it on Windows, and you don't want my 
Linux Zealot opinion, anyway (I advise against running 
*Tetris* and *Solitaire* on a Windows machine, to be 
perfectly honest ;-D ).


Terry Hancock ( hancock at anansispaceworks.com )
Anansi Spaceworks  http://www.anansispaceworks.com