WiredTiger is MongoDB’s default storage engine, designed for scalable data management. It combines MVCC, document-level concurrency, caching, compression, indexes, projections, and ACID transactions to improve performance and reduce contention. section 8.1
Its main operational characteristics include:
- MVCC permits concurrent reads and writes with minimal blocking, while optimistic concurrency control detects conflicting changes and may retry transactions. section 8.1 section 8.2
- In-memory caching reduces disk access, and compression lowers storage and I/O requirements at the cost of additional CPU use. section 8.1 section 8.6
- Write-ahead journaling records changes between checkpoints so MongoDB can replay them after an unexpected exit; Snappy compression is the default for journal entries. section 8.1.2
- Single-document operations are atomic, making them sufficient when related data can remain within one document rather than requiring a multidocument transaction. section 8.2 section 8.6
WiredTiger supports row-oriented and column-oriented storage configurations, a key-value mode, and schema features such as indexes and projections. MongoDB also uses it beneath single-document atomicity and multidocument ACID transactions, including transactions spanning shards. section 8.1 section 8.6
For sensitive persisted data, the WiredTiger Encrypted Storage Engine provides database-level AES-256 encryption. Atlas can use customer-managed keys from AWS KMS, GCP KMS, or Azure Key Vault, allowing key rotation and revocation alongside provider-managed disk encryption. section 20.5.3
Figure 20.2 Atlas’s encryption architecture shows the interaction between MongoDB Server, AWS KMS, and Atlas’s internal security layers. (Image © MongoDB 2024 CC BY-NC-SA 3.0)
Trace how Atlas, MongoDB Server, internal security layers, and AWS KMS cooperate to decrypt deployment keys before WiredTiger accesses encrypted data. section 20.5.3
