Fork me on GitHub

This presentation will cover experiences using MongoDB at two Symfony2 startups over two years. We will look at each company's infrastructure, pinpoint good and bad applications of MongoDB and review several painful gotchas experienced along the way (e.g. blocking queries, page faults, Mongo shell quirks). There will be some general advice on schema design before discussing query optmization and index management.

Keeping track of one's Mongo environment is essential, so we will review common warning signs (visible through server stats or 10gen's MongoDB Monitoring Service) and walk through query profiling in order to fine-tune our application. We will look at caveats of server-side code execution and map/reduce queries and, in the case of the latter, look at benefits of the new aggregation framework. Lastly, I will discuss the implications of Doctrine ODM and when it may be preferable to bypass it for operations where performance or memory usage is critical.