Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 灵活的方式/数据库保存大量数据_Database_Sqlite_Database Design_Data Structures - Fatal编程技术网

Database 灵活的方式/数据库保存大量数据

Database 灵活的方式/数据库保存大量数据,database,sqlite,database-design,data-structures,Database,Sqlite,Database Design,Data Structures,我有一个非常大的SQLite数据库(~10MB)。目前,我在localhost上使用带有自定义PHP接口的数据库,但我也在寻找不同的存储和接口。内部数据不会经常更改,因此读取数据具有优先权 我对当前的设置不是很满意,因为数据库模式是“自定义”的,我不想在将来更改它(因为也许我会找到一种“更好的方法”)。我认为这是不标准的,这可能会困扰我的未来 我的问题是:存储非常灵活的数据的好方法是什么?我正在寻找一种标准的数据存储,我只需要填充一次。SQLite仍然是最佳选择吗 此数据库中的内容: 我将大致描

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

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

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

此数据库中的内容: 我将大致描述一下结构如何

  • 表A充满了问题
  • 表B充满了答案。每个问题都有不同的答案
  • 来自C的表格中充满了关于问题Y的答案X的数据。每个答案都有许多不同的可用元数据
非常重要的是:
  • 快速查询
  • 通过*NIX的可移植性,无需安装大量软件
  • 不太复杂的查询,我仍然需要一些连接
  • 不必每两个月更改一次模式
不重要的是:
  • 频繁更新(我每年或多或少更新数据库一次)

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

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

以下是一个例子:

键值存储?Redis-看看这个。试试或者其他任何文档存储。在我看来,它就像一个基本的1::N模型。没有涉及问题或答案的版本?没有斑点?没有问题的类别/标签?没有答案的评级/排名?