灵活的方式/数据库,以保持非常大量的数据

时间:2012-06-14 09:58:39

标签: database sqlite database-design data-structures

我有一个非常大的SQLite数据库(~10MB)。目前我在localhost上使用这个数据库和自定义PHP接口,但我正在寻找不同的存储和不同的接口。内部数据不会经常变化,因此读取数据具有优先权。

我对当前设置不太满意,因为数据库架构是“自定义”的,我不希望将来需要更改它(因为我可能会找到“更好的方法”)。我认为这不标准,将来可能会让我感到困扰。

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

此数据库内有什么:

我将概括地描述结构如何。

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

什么是非常重要的:

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

什么重要:

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

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

1 个答案:

答案 0 :(得分:4)

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

这是一个例子: enter image description here