1.1 What is the ZODB?

The ZODB is a persistence system for Python objects. Persistent programming languages provide facilities that automatically write objects to disk and read them in again when they're required by a running program. By installing the ZODB, you add such facilities to Python.

It's certainly possible to build your own system for making Python objects persistent. The usual starting points are the pickle module, for converting objects into a string representation, and various database modules, such as the gdbm or bsddb modules, that provide ways to write strings to disk and read them back. It's straightforward to combine the pickle module and a database module to store and retrieve objects, and in fact the shelve module, included in Python's standard library, does this.

The downside is that the programmer has to explicitly manage objects, reading an object when it's needed and writing it out to disk when the object is no longer required. The ZODB manages objects for you, keeping them in a cache and writing them out if they haven't been accessed in a while.