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

webmaster@zope.org webmaster@zope.org
Thu, 16 Jan 2003 01:40:42 -0500


A comment to the paragraph below was recently added via http://www.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@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.