[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