Two example storages, DemoStorage and MappingStorage , are available to use as models if you want to write a new Storage. The DB class sits on top of a storage, and mediates the interaction between several connections. One DB instance is created per process. Finally, the Connection class caches objects, and moves them into and out of object storage. A multi-threaded program can open a separate Connection instance for each thread.
Different threads can then modify objects and commit their modifications independently.