Concurrency Control in MongoDB 3.0

PublishedJune 1, 2015


Kaloian Manassiev, Senior Engineer at MongoDB

This talk will describe the changes which went into MongoDB 3.0 in order to allow storage engines to achieve their maximum concurrency potential. In MongoDB 3.0, concurrency control has been separated into two levels: top-level, which protects the database catalog, and storage engine-level, which allows each individual storage engine implementation to manage its own concurrency. We will start from the top and introduce the concept of multi-granularity locking and how it protects the database catalog. We will then explain how the MongoDB lock manager works and how it allows storage engines to manage their own concurrency control without imposing any additional overhead.