[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
% 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
(2) how Zope works with other application servers if I store static html pages and graphics files on those
% 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
% 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