[GTALUG] Looking for Someone to Answer some Question
Christopher Browne
cbbrowne at gmail.com
Thu Jan 17 11:54:57 EST 2019
On Thu, 17 Jan 2019 at 07:46, Steve Petrie, P.Eng. via talk
<talk at gtalug.org> wrote:
> BerkelyDB might be another option for storing an enbedded application's
> non-volatile data.
>
> BerkelyDB is now owned by Oracle, but I believe there is an open-source
> version available) BerkelyDB could be more performant than SQLite and
> also could have a smaller footprint. In complexity, BerkelyDB would fit
> between SQLite and parsing the embedded app's non-volatile date out of a
> file(s) in the barebones filesystem.
>
> I myself an considering migrating a PostgreSQL database (used by a
> PHP-based website app) to (an open source version of) BerkelyDB, because
> of the BerkelyDB claim that it requires "zero administration". If true,
> this "zero administration" feature sounds to me like a great fit for an
> embedded app..
I'd be a bit reluctant to look at something belonging to Oracle; as well, I'd
regard Berkeley DB as being fairly heavyweight in this area. as it has
several storage managers/access methods, as well as a lock manager
to support multi-user access.
By the time you pay for that 'weight', I think you're most of the way to
being able to justify SQLite.
Here's a free form list of things I imagine are looking at...
- Constant DB (CDB) uses perfect hashing to establish a
quickly-readable database; it has only two operations:
- Create
- Read
Note the absence of a 'write' operation; data is not to be modified...
https://en.wikipedia.org/wiki/Cdb_(software)
http://www.unixuser.org/~euske/doc/cdbinternals/index.html
http://www.unixuser.org/~euske/doc/cdbinternals/pycdb.py.html
http://www.corpit.ru/mjt/tinycdb.html
There are a couple of implementations (original one by the controversial
Daniel J Bernstein, with somewhat controversial license terms)
- Worth looking at benchmarks. Here's one for some of the classic kvp stores
http://qdbm.sourceforge.net/benchmark.pdf
- It looks like a lot of the "cool kids these days" have been using
Tokyo Cabinet, and apparently Kyoto Cabinet is intended as a successor
https://fallabs.com/kyotocabinet/
- Looking at it a bit systematically, there's clearly lots of
key/value pair databases:
https://en.wikipedia.org/wiki/Key-value_database
Closest to home, local developer Ozan Ygit wrote sdbm as a rewrite of ndbm
some years ago.
http://www.cse.yorku.ca/~oz/sdbm.bun
--
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"
More information about the talk
mailing list