2 ms·
This is only part of the story - LMDB lacks a WAL because it uses shadow paging, which is a complementary technique with totally different characteristics more
by _wmd 12y ago
This is only part of the story - LMDB lacks a WAL because it uses shadow paging, which is a complementary technique with totally different characteristics more suited to read-optimized loads.
Similarly "not too fast for write-intensive apps" is only half the story - LMDB write transactions have a fixed cost related to the tree depth, so while many tiny updates may incur a noticeable fixed penalty in some cases, that cost becomes less noticeable e.g. with larger transactions performing reasonably localized updates (say, to partially sequential key ranges).
Also note even for huge databases, the write overhead of shadow paging is usually somewhere south of 64kb per transaction. To reiterate, the fixed cost is essentially per-transaction rather than per-update.