LWN.net Logo

Speeding up by dropping support for some transactional updates

Speeding up by dropping support for some transactional updates

Posted Apr 15, 2010 19:09 UTC (Thu) by hathawsh (guest, #11289)
In reply to: Speeding up by dropping support for some transactional updates by epa
Parent article: MongoDB: leave your SQL at home

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.


(Log in to post comments)

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.)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds