I'm sorry but I hate ZODB with a passion.<p>- It does not scale.<p>- Poor support for replication or sharding.<p>- It is slow. Really slow. Un-pickle every time you get something from cache.<p>- It is error prone. Forget a commit or forget to handle conflict errors and you're in big trouble.<p>- No interoperability. Want to write a service in C++ to access your db? You're out of luck.<p>- As your system grows you'll have conflicts all over the place.<p>- Some server side stuff needs to have your objects, e.g. if you want to do conflict resolution.<p>- Migrations/change to schemas are painful, once you change your object you're no longer going to be able to de-serialize it.<p>- You have to roll your own if you want change notifications.<p>So if you're just looking to persist some Python objects in a small system, great. Otherwise I'd stay away from this.