The storage engine is the core component of any database which is responsible for handling from disk to memory. Mongodb Support multiple storage engine, Choosing the appropriate storage engine for your use case can significantly impact the performance of your applications.
- WiredTiger Storage Engine
- In-Memory Storage Engine
- MMAPv1 Storage Engine
MongoDB removes their initial storage engine MMAPv1 and now WiredTiger Storage Engine is default storage engine. So we should understand what the reason is behind these changes.
MMApV1 storage engine :
- It allows Concurrency control level on collection, so write performance is just good.
- This engine does not allow Compression support.
WiredTiger Storage Engine :
- Concurrency control in wiredtiger is maintaining on document level. It uses WiredTiger uses MultiVersion Concurrency Control (MVCC) like other RDBMS, So write performance is excellent.
- Yes this engine allows compression.
With WiredTiger, MongoDB utilizes both the WiredTiger internal cache and the filesystem cache.
These are the changes which improves mongodb performance level 7x to 10x with new storage engine.
Apart from that there is one another engine In-Memory Storage engine. In-Memory Storage Engine is available in MongoDB Enterprise. Rather than storing documents on-disk, it retains them in-memory for more predictable data latencies.
mongod --storageEngine inMemory --dbpath <path>
The in-memory storage engine is non-persistent and does not write data to a persistent storage. Non-persisted data includes application data and system data, such as users, permissions, indexes, replica set configuration, sharded cluster configuration, etc.
Thanks for reading
Plz dont forget to like Facebook Page..