| ▲ | andersmurphy 2 days 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 14 hours ago | parent | next [-] | |||||||
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 | ||||||||
| ▲ | cmrdporcupine a day ago | parent | prev | next [-] | |||||||
The strongest argument as far as I can see it is... the problem is you now lose control over all those things. It's a black box with effectively no knobs. Anyways, read for yourself, Pavlo & Leis get into it in detail, and there's benchmarks: | ||||||||
| ||||||||
| ▲ | alexpadula 2 days ago | parent | prev [-] | |||||||
“ It's such a great fit for scaling reads.” And losing them. | ||||||||
| ||||||||