[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: LMDB vs FastDB



Tobias Oberstein wrote:
FastDB also appears to use locking, while LMDB is MVCC and readers

Yeah, MVCC is the right thing ..

require no locks, so even with all of the other disadvantages out of the
way, LMDB will scale better across multiple CPUs.

So _one_ LMDB can be concurrently used from multiple threads and
multiple processes, with multiple readers and writers?

Writers wont block readers, but writers require exclusive lock?

When used from different process, the single-layer design making use of
the filesystem buffer cache will mean there is no "buffer cache" per
process, and memory-consumption won't skyrocket?

Correct. I've already demonstrated this by running SLAMD benchmarks against two slapds operating on the same database. (Due to inefficiencies in slapd's frontend/connection manager/threadpool, you can actually double slapd throughput using 2 slapds on the same database.)

--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/