2

我正在编写一个小型独立 Lua 工具,它使用树中的几个键/值对作为数据存储。我的原型使用 Lua 表,它们非常适合我的任务。然而,表条目不断变化和增长。对我来说,这似乎是将所有数据存储在数据库中的一个很好的理由。

许多较小的工具依赖于 SQLite 数据库,但我认为如果要存储中小型 Lua 表,必须有更好的(键值)解决方案。我读过关于用 SQL 存储树的文章,但乍一看这看起来很复杂。

是否有用于在数据库中存储和检索 Lua 表的KISS解决方案,可能与查询语言一起使用?

数据库仍然很小,应该是持久的,不需要处理并行查询。性能也没有问题,该工具仅供单用户使用。我更喜欢基于磁盘/文件的数据库。理想情况下,数据库的更新(查询/脚本)应受版本控制。

首先,我将 (G)dbm 视为可能的候选对象(参见此处),但我不知道一种简单且“可编写脚本”的方式来修改和创建新条目(就像使用 SQL 语句所做的那样)。

我想避免使用像 MongoDB 这样的成熟/基于服务器的解决方案或像 Neo4j 这样的 Graph DB,它们对于我手头的任务来说太过分了。

4

1 回答 1

1

我的lgdbm绑定包含 gdbm 数据库的表代理。换句话说,您可以通过在 Lua 表中读取和写入条目来与 gdbm 数据库进行交互。

为简单起见,lgdbm 仅适用于字符串键和值,但如有必要,可以对其进行修改以处理其他类型。

于 2016-04-03T21:11:21.227 回答