[ZDP] BackTalk to Document Zope Developer's Guide (2.4 edition)/ZODB Persistent Components

webmaster at zope.org webmaster at zope.org
Mon Dec 22 16:17:06 EST 2003


A comment to the paragraph below was recently added via http://zope.org/Documentation/Books/ZDG/current/Persistence.stx#1-0

---------------

  Most Zope components live in the Zope Object DataBase (ZODB).
  Components that are stored in ZODB are said to be *persistent*.
  Creating persistent components is, for the most part, a trivial
  exercise, but ZODB does impose a few rules that persistent
  components must obey in order to work properly.  This chapter
  describes the persistence model and the interfaces that persistent
  objects can use to live inside the ZODB.

    % Anonymous User - July 9, 2002 8:38 am:
     In a SAMS book, "ZOPE Web Application Construction Kit" by Martina Brockmann etc, page 41, it says "... ZODB
     is not suitable for storing large amounts of data."
     Is it true? If it is, we are in trouble because Zope stores everything in it. This means that Zope is not
     suitable for large site. Can somebody please clarify this? Thanks.

    % Anonymous User - July 9, 2002 8:58 am:
     Sure. This statement is actually completely false. ZODB is very capable of storing large amounts of data. But
     like any sort of database you need to be careful to put the right kinds of data structures in the right
     places for maximum efficiency. Also, you may want to consider a different storage than FileStorage if you
     have lots of data because FileStorage keeps all data in a single file, which can be problematic on systems
     which do not support large files. Additionally, ZODB recovery tools are currently not as robust as, say,
     Oracle recovery tools, so if your database does get corrupted due to hardware failure it may not be a
     recoverable error and you may need to restore from backup.
     That said, there is nothing stopping you from using Oracle or the filesystem to store all of your data just
     like other application servers. Zope lets you do this. You don't need to use ZODB. The equation you use above
     is inaccurate.

    % Anonymous User - July 9, 2002 9:17 am:
     Thanks for your quick reply.

     How can I find more info about:

     (1) any guideline regarding "to put the right kinds of data structures in the right places for maximum
     efficiency;"
     (2) how Zope works with other application servers if I store static html pages and graphics files on those
     servers.
     Thanks again.

    % Anonymous User - July 9, 2002 9:57 am:
     Ask a detailed question including what kinds of data you want to store and which other servers you want to
     integrate with on the Zope maillist (zope at zope.org). See the Resources link of Zope.org for more maillist
     info.

    % Anonymous User - Jan. 16, 2003 1:40 am:
     More importantly, how do you configure zope to use an Oracle database instead of ZODB? I can find information
     on DCOracleStorage stuffs, but nothing about configuring Zope to startup and point to an Oracle database.

    % axxackall - Apr. 5, 2003 11:09 am:
     I know several projects where developers had to re-write half of the system just because it was based on
     object persistence and POET (or other) ODBMS. It is a fact that enterprise users do not like ODBMS with
     consequently closed architecture. They want RDBMS with ability to integrate the web portal with other
     corporate infrmation sources. How to do that with ZODB? No way. I've tried to find any information about any
     attempts to get rid from ZODB on the backend of Zope and found that virtually nobody is working currently on
     it. If anyone is interesting in it, particularly in substituting ZODB by PostgreSQL, please send me email:
     axxackall at yahoo.com as such project is too much for one busy developer.

    % Anonymous User - Dec. 22, 2003 4:17 pm:
     "get rid from ZODB" is not going to happen. Zope is a ZODB application.
     What you should probably look at is APE, which (properly configured) will transparently
     store zodb data in the RDBMS of your choice. It is not yet stable but some people are already using it.



More information about the ZDP mailing list