On 11/25/2016 02:07 AM, Howard Chu wrote:
Florian Weimer wrote:
On 11/24/2016 10:41 PM, Howard Chu wrote:
As a
compromise you could use SQLightning, which replaces SQLite's Btree
layer with LMDB. Since LMDB *does* allow readers that don't block
writers.

How does it do that?  Does LMDB perform lock-free optimistic reads and
retroactively verifies that the entire read operation was consistent?
The web
page currently says that “readers need write access to locks and lock
file”:

  <http://lmdb.tech/doc/>

Readers are lock-free/wait-free. Since LMDB uses MVCC readers get their
own fully isolated snapshot of the DB so no retroactive verification is
needed.

I think you misunderstood what I was asking (see the start of the thread). I need to support Byzantine readers which do not follow the locking protocol. Based on the documentation, LMDB uses locks to implement MVCC and prevent premature page reuse.

Thanks,
Florian

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to