3

我有一个非常大的 SQLite 数据库(~10MB)。目前我在本地主机上使用这个数据库和一个自定义的 PHP 界面,但我也在寻找不同的存储和不同的界面。里面的数据变化不大,所以优先读取数据。

我对当前的设置不是很满意,因为数据库模式是“自定义”的,我不想在将来更改它(因为也许我会找到“更好的方法”)。我认为这不是标准的,将来可能会困扰我。

我的问题是:存储非常灵活的数据的好方法是什么?我正在寻找一种标准的数据存储,我只会填充一次。SQLite 仍然是最佳选择吗?

这个数据库里面有什么:

我将大致描述结构如何。

  • 表A充满了问题;
  • 表 B 充满了答案。每个问题都有不同的答案;
  • C 中的表格充满了关于问题 Y 的答案 X 的数据。每个答案都有许多不同的元数据可用。

什么是极其重要的:

  • 快速查询;
  • 通过 *NIX 实现可移植性,无需安装大量软件;
  • 不太复杂的查询,我仍然需要一些连接;
  • 不必每两个月更改一次架构。

什么不重要

  • 频繁更新(我每年更新一次数据库,或多或少)。

我想过使用文件和文件夹,但我不确定这是最好的选择。

4

1 回答 1

4

您的问题可以很好地建模为图问题。像 Orient DB 或 Neo4j 这样的基于图形的数据库呢?在 Graph 的一部分中可以有 2 个节点:一个代表问题 A,一个代表答案 B,​​连接它们的边可以包含表 c 数据或元数据。每个答案节点可以有来自多个问题节点的多个传入边,并且单个问题可以有多个答案。您不需要任何架构,我提到的数据库是 NoSQL 数据库。搜索将非常快,因为即使它们可以与 Lucene 搜索引擎集成以进行全文搜索,我相信因为您有问答,所以您需要全文搜索。

这是一个例子: 在此处输入图像描述

于 2012-06-14T10:13:00.767 回答