- Reading the data from disk
- Concurrency between different threads reading the same data
- Caching and buffer management
- Eviction of pages from memory
- Playing nice with other processes in the machine
Why would you not leverage it? It's such a great fit for scaling reads.
And losing them.
Anyways, read for yourself, Pavlo & Leis get into it in detail, and there's benchmarks:
The other concerns seem to imply there are no other programs running on the same machine as the database. The minute that's not true (is it ever true?). Then OS will do a better job (as seen with LMDB etc).
I think it's telling that the paper focuses on mongoDB not LMDB.
https://www.symas.com/post/are-you-sure-you-want-to-use-mmap...
LMDB uses mmap and Andy recommends LMDB, in the very article this thread is about.