Jens Alfke wrote:
On Oct 9, 2016, at 8:15 AM, Howard Chu <h...@symas.com> wrote:
Use SQLightning, it's designed specifically for write once read many workloads.
"SQLite3 ported to use LMDB instead of its original Btree code” — sounds great,
and the performance figures quoted in the readme are impressive. But the source code
appears to be a modified version of SQLite’s source, which would make it very
difficult to keep in sync with SQLite, and (as Domingo pointed out) the last commit
is three years old and seems to be based on SQLite 3.7.17. So far this looks like an
exciting proof-of-concept, but not something I’d use in a real project.
(By comparison, SQLCipher is also released as a modified copy of SQLite, but
they sync with SQLite regularly; the latest version from this April is based on
3.11.0.)
It would be best if this were implemented as a separate plugin, but as I’m not
familiar with the innards of SQLite, I’ll assume that simply wasn't feasible.
(I know SQLite supports VFS plugins, but I think those just operate at the
paging layer, below the b-tree.)
SQLite3's code structure is monolithic, not modular, so there is no clean way
to replace its underlying Btree layer. It's necessarily a hack-and-slash
proposition.
As for code freshness, I've seen no compelling new features from 3.8.x onward
that would improve performance so there's been no reason to update further.
Many of the SQLite performance enhancements from 3.8 are in its own Btree
code, which is entirely ripped out in SQLightning and thus irrelevant. On the
other hand, there have been multiple regressions (performance and otherwise)
in subsequent releases, most often in the query planner, which I've chosen to
avoid.
E.g.
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg85558.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg86191.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg86901.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg89666.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg91201.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg92189.html
https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg99646.html
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users