Reinhold Strobl wrote:


So I expect, ZODB is only a front-end for different ways of storage like file,
oracle db, isn't it?

My personal idea of ZODB is some kind of a file system. You can create container and items. All this is stored in a file called Data.fs. This file system is mounted on startup by the Zope application server.

So it is very convenient to create content types that store their data inside ZODB, because they are easily reachable by your zope application.

Personally I don't like to store big files (pictures and the like) in ZODB. Zope provides you the functionality to store this data outside of ZODB (somewhere on the harddrive). Although commonly a reference still exists in ZODB in form of a content object. This content object has the knowledge to access the stored data.

At work we are working on a zope3 system that stores data of content in a Postgresql database. We use a special persistent sql container that contains non persistent items retrieved and created through use of SQL.

As you can see there is quite a lot flexibility to ZODB storage. To get a nicer zope3 learning experience I would stick to ZODB as close as possible.

If yes, I would like not to change the code (of persistent class) to change to
another storage way, is that correct?

Zope does not restrict storage to ZODB. But you most likely want to keep the inventory of data inside of the content space of Zope. The benefits add up.

- Andreas

Zope3-users mailing list

Reply via email to