Pluggable storage engines
With MongoDB breaking out from the web application paradigm into domains with different requirements, storage has become an increasingly important consideration.
Using multiple storage engines can be seen as an alternative way to using different storage solutions and databases in our infrastructure stack. This way, we can reduce operational complexity and development time to market with the application layer being agnostic of the underlying storage layer.
MongoDB offers four different storage engines at the moment, which we will examine in further detail in the next sections.
WiredTiger
As of version 3.2, WiredTiger is the default storage engine and also the best choice for most workloads. By providing document-level locking, it overcomes one of the most significant drawbacks earlier versions of MongoDB had—lock contention under high load.
We will explore some of WiredTiger's benefits in the following sections.
Document-level locking
Locking is so important that we explain...