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