More information about the Underscore mailing list

[_] Zope - mySQL or PostgreSQL, etc. Content Management

Matt Hamilton matth at netsight.co.uk
Wed Apr 11 09:37:28 BST 2001

On Tue, 10 Apr 2001, Clive Warren wrote:

> Interesting to read the threads on Content Management Systems. Zope 
> is something which I have considered from time to time, however have 
> been waiting for it to achieve "critical mass" - maybe this has 
> happened already.
> 
> Popping over to zope.org the latest news has an article on  "The Zope 
> Content Management Framework hit 1.0, but considering the brokenness 
> I see on cmf.zope.org, I think I'll wait for 1.1."

The CMF is an out of the box 'Portal Toolkit' (hence it used to be called
the PTK).  It is one of many products (albeit on of the largest) that sit
on top of Zope.  It is however not a necessary part of Zope.  I tried it
several months ago still under the name of PTK, but didn't need any of its
features.  We still do a lot of Zope work, but have never really used
CMF/PTK.

> The other issue which is of interest is the debate on relational 
> databases.  RedHat Linux 7.0 installs PostgreSQL by default and you 
> have to install mySQL if that is your choice of database.
> 
> Has anyone on the list used both mySQL and PostgreSQL and have any 
> comments?  The main difference used to be that mySQL did not support 
> transactions but the latest version now seems to do so.

I have used both before.  I did quite a bit of investigation for a mailing
list archive project I was working on.  At the time PostgreSQL did not
support tuples larger than 8K, which ruled it out for my needs.  It did
have large object support, but that involved storing each tuple as a file
on the underlying filesystem -- again not what I wanted.  Hence I went
with mySQL.  The 8K limitation has now been lifted from PostgreSQL since I
last tried it.

There are lots of arguments either way.  PostgreSQL has a much richer
support for locking, transactions, stored procedures, triggers
etc.  However if all you want is a small DB to store a single table of
names and adresses from a web site then mySQL will probably be faster and
less complex.

Another interesting contender that I have not had a chance to look at is
SAP DB.  SAP (who make R3 a big bit of software that big companies use,
but that no-one knows what it *actually* does :) has released their DB
software under an open source license.  It supposedly is quite fast and
supports transactions, stored procedures, replication etc.

> Am currently making a decision on Content Management Systems and Zope 
> is something I would like to try out - making the correct decision 
> about which database to use is essential early on as a later change 
> would be a bit of a 'mare.....

Well another feature of Zope is a thing called ZPatterns.  This is a way
of developing formal plans for software in a UML fashion.  It is not for
the faint hearted, and unless you are a die-hard software engineer will
probably melt your brain (I have not yet used it -- UML does my head in).  
One of the main benefits of ZPatterns is it allows you to develop very
abstract interfaces to object storage eg. get_object(id) , put_object(ob,
id).  This means that you can delay the decision about the actual storage
(Zopes own ZODB, Oracle, PostgreSQL, mySQL, flat files, etc.) until much
later.  It also allows you to change the decision much later as well,
should you find the storage system you decided upon at the start does not
meet your expectations.  ZPatterns should in theory help (force?) you to
create better software, which could be formally verified, and much easier
to extend and re-use.

-Matt


-- 
Matt Hamilton                                         matth at netsight.co.uk
Netsight Internet Solutions, Ltd.          Business Vision on the Internet
http://www.netsight.co.uk                               +44 (0)117 9090901
Web Hosting | Web Design  | Domain Names  |  Co-location  | DB Integration