Comment by corysama
5 years ago
It's very simple. Single C file implementation. Binary blob keys : binary blob values. The end. If all you need is a bunch of blobs written and read back reliably while in a statistically unreliable situation, LMDB is great.
Well, sqlite is also just a single .c with a single .h.
Sqlite is dozens of files. See https://www3.sqlite.org/cgi/src/dir?ci=tip&name=src
You're both right... kinda.
SQLite is dozens of files, if you're browsing it, or modifying it. Which you can do, as long as you're ok with contributing your changes being impossible, since it's open-source but closed-contribution.
If you're compiling it, it is, in fact, one .c and one .h:
https://www.sqlite.org/amalgamation.html
If you're choosing between LMDB and SQLite, the latter sense is the relevant one, so they're identical along this particular axis.