Memory and storage engines help MongoDB save and manage your data efficiently. WiredTiger is the default engine that balances speed and storage.
Memory and storage engine basics (WiredTiger) in MongoDB
storage:
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: <number>
collectionConfig:
blockCompressor: <compressor_type>This is part of the MongoDB configuration file (mongod.conf).
You can set cache size and compression type to control memory and storage behavior.
storage: engine: wiredTiger
storage:
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 2storage:
engine: wiredTiger
wiredTiger:
collectionConfig:
blockCompressor: snappyThis configuration tells MongoDB to use WiredTiger with 1 GB cache and zlib compression for collections.
# This is a mongod.conf snippet to configure WiredTiger
storage:
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 1
collectionConfig:
blockCompressor: zlibWiredTiger uses RAM as a cache to speed up data access.
Compression helps save disk space but may use more CPU.
You can tune cache size based on your server's memory to balance speed and resource use.
WiredTiger is MongoDB's default storage engine that balances speed and storage.
You configure it in mongod.conf by setting engine, cache size, and compression.
Proper tuning helps MongoDB run efficiently on your hardware.
Practice
Solution
Step 1: Recall MongoDB default engine
MongoDB uses WiredTiger as its default storage engine since version 3.2 for better performance and compression.Step 2: Compare options
MMAPv1 is older, InMemory is for volatile data, RocksDB is not default in MongoDB.Final Answer:
WiredTiger -> Option AQuick Check:
Default engine = WiredTiger [OK]
- Confusing MMAPv1 as default
- Thinking InMemory is default
- Assuming RocksDB is default
mongod.conf?Solution
Step 1: Check correct case for engine name
The engine name is case-sensitive and must be 'wiredTiger' with lowercase 'w' and capital 'T'.Step 2: Validate YAML syntax
storage: engine: WT uses unrecognized abbreviation; C uses all lowercase; D uses incorrect capitalization.Final Answer:
storage: engine: wiredTiger -> Option CQuick Check:
Correct engine name is wiredTiger [OK]
- Using all lowercase 'wiredtiger'
- Using 'WiredTiger' with capital W
- Using abbreviations like 'WT'
mongod.conf snippet:storage:
engine: WiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 2What does the
cacheSizeGB setting control?Solution
Step 1: Understand cacheSizeGB meaning
cacheSizeGB sets how much RAM WiredTiger uses to cache data in memory for faster access.Step 2: Eliminate other options
It does not control disk space, CPU cores, or network bandwidth.Final Answer:
The amount of RAM WiredTiger uses for caching data -> Option BQuick Check:
cacheSizeGB = RAM cache size [OK]
- Thinking it controls disk space
- Confusing with CPU or network settings
- Ignoring memory tuning importance
cacheSizeGB: 0.5 in mongod.conf but MongoDB starts with poor performance. What is the likely cause?Solution
Step 1: Check WiredTiger cache size limits
WiredTiger performs poorly if cacheSizeGB is less than 1 GB.Step 2: Validate config placement and value type
Decimal values are allowed; placement under wiredTiger.engineConfig is correct; it is not ignored.Final Answer:
cacheSizeGB must be at least 1 GB -> Option AQuick Check:
Minimum cacheSizeGB = 1 GB [OK]
- Using decimal values thinking they are invalid
- Placing cacheSizeGB under wrong config section
- Assuming cacheSizeGB is optional for startup
cacheSizeGB setting is best for WiredTiger, considering MongoDB and OS need memory?Solution
Step 1: Understand memory needs
MongoDB needs memory for cache and other operations; OS and other apps also need RAM.Step 2: Choose balanced cache size
Setting cacheSizeGB to about half or slightly more (8 GB) leaves enough RAM for OS and avoids swapping.Step 3: Evaluate other options
14 or 16 GB risks OS starvation; 2 GB is too low for good performance.Final Answer:
Set cacheSizeGB to 8 to leave memory for OS and other processes -> Option DQuick Check:
Balance cache and OS memory = 8 GB [OK]
- Assigning all RAM to cache causing OS issues
- Setting too low cacheSizeGB hurting performance
- Ignoring OS memory needs
Ready to prove it?
Pass the test and this pattern moves unknown
