Pro:
Pythonic. You just do a few extra opens and suddenly your Python data structure is persistent and automatically fetches itself from disk as necessary, and uncaches itself after a period of non-use. The "root object" is a dictionary containing any pickleable objects, which can themselves be lists or dictionaries, etc.
Supports versioning and transactions. -- Edmund Lian 31 Dec 2001
Seems to be able to support heavy, primarily read-oriented loads since many Zope sites rely entirely on it. -- Edmund Lian 31 Dec 2001
Con:
No central daemon to manage multiple unrelated connections.
ZODB is a modify-by-appending database. Rather than updating records in place, ZODB adds a new record and "forgets" the old one. This is good for safety, journal record and undoing, but it's bad for fields that update frequently, especially counter values (e.g., how many times a web page has been visited).
Back up your database frequently. The default store puts everything in one file.
Python specific. One needs to use Python to query or otherwise manipulate ZODB. There are a myriad of ways that one can manipulate data in a SQL database. -- CliffordIlkay - 18 Feb 2004
-- MikeOrr - 31 Dec 2001