A pluggable storage engine is the software component of the database that performs CRUD operations. Sometimes they can have their own APIs which will allow you to talk directly to the engine without having to go through the database user interface. Each engine has its own functionality, strengths and weaknesses.
Having pluggable storage engines allows you to change the behavior of the database without changing its interface, language, client-side drivers, etc. Some storage engines are focused on high-write capacity, while others concentrate on query performance. This allows developers to choose the storage engine that best suits their application workloads.
MongoDB 3.0 shipped with two supported storage engines to choose from:
The original and default MongoDB storage engine has been enhanced with collection level concurrency control and dynamic record allocation. This makes for an easy, carefree migration from previous version into MongoDB 3.0 while still enjoying the latest features.
WiredTiger supports all MongoDB features, including operations that report on server, database, and collection statistics. For many applications, WiredTiger's more granular concurrency control, write-ahead log, memory cache, and native compression provide significant benefits in terms of lower storage costs, greater hardware utilization, higher throughput, and more predictable performance.
WiredTiger includes snappy compression to reduce the data footprint size in memory and on-disk. This is done by storing data in memory in 32KB chunks, compressing it, and then writing it to disk in as close to 4kb blocks as possible. ObjectRocket defaults to snappy, with support for zlib coming soon.
With greater performance comes greater resource needs for both RAM and CPU. That's where ObjectRocket's optimized architecture makes up the difference for launching your app.