top | item 46508060

(no title)

mtndew4brkfst | 1 month ago

Andy is very critical of using mmap in database implementations.

discuss

order

andersmurphy|1 month ago

Why? Sqlite and LMDB make fantastic use of it. For anyone doing a single writer db it's a no brainer. It does so much for you and it does it very well. All the things you don't have to implement because it does it for you:

- 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.

hyc_symas|1 month ago

Fun footnote: SQLite only got on board with mmap after I demonstrated how slow their code was without it. I.e., getting a 22x speedup by replacing SQLite's btree code with LMDB https://github.com/LMDB/sqlightning

alexpadula|1 month ago

“ It's such a great fit for scaling reads.”

And losing them.