I am writing a small standalone Lua tool which uses several key/value pairs in trees as data storage. My prototype is using Lua tables, they fit perfectly for my task. However the table entries change and grow continuously. For me, that seems a good reason for storing all the data in a database.
A lot of smaller tools rely on SQLite databases but I think there must be a better (key-value) solution if one wants to store small to medium sized Lua tables. I read about storing trees with SQL but that looks complicated at first glance.
Is there a KISS solution for storing and retrieving Lua tables in databases, maybe together with a query language?
The database will still be small, should be persistent and do not need to handle parallel queries. Performance is also no issue, the tool is single-user only. I would prefer a disk/file-based DB. Ideally, the updates (queries/scripts) to the DB shall be under version control.
First I was thinking of (G)dbm as possible candidate (see here), but I do not know about a simple and "scriptable" way to modify and create new entries (as one could do with SQL statements).
I want avoid full blown/server based solutions like MongoDB or with Graph DBs like Neo4j, they would be overkill for my task at hand.