The ZODB comes with a few different classes that implement the Storage interface. Such classes handle the job of writing out Python objects to a physical storage medium, which can be a disk file (the FileStorage class), a BerkeleyDB file (BerkeleyStorage), a relational database (DCOracleStorage), or some other medium. ZEO adds ClientStorage, a new Storage that doesn't write to physical media but just forwards all requests across a network to a server. The server, which is running an instance of the StorageServer class, simply acts as a front-end for some physical Storage class. It's a fairly simple idea, but as we'll see later on in this document, it opens up many possibilities.