MySQL lets you mix different storage engines within a schema, giving the effect you're describing. RelStorage, a ZODB backend that stores Python objects as pickles, uses this feature when storing in MySQL. It helps performance significantly.
Speeding up by dropping support for some transactional updates
Posted Apr 17, 2010 3:23 UTC (Sat) by dmag (subscriber, #17775)
[Link]
> stores Python objects as pickles
That's more like a key-value store. One big problem: For any operation on an 'object', you must download the entire object. (I.e. let's say each object is a blog post with metadata and all comments. You would have to download all comments for all blog posts just to list the titles of the blog posts. Ick.)
With a docstore, you can have the database scan all the objects and pick out the field you want. It saves a ton of bandwidth, and client-side processing. (Mongo saves a lot of server-side processing by using BSON for disk storage and wire-protocol.)