平面文件中的数据库

时间:2012-07-25 22:49:01

标签: php database file

我正在创建一个Web应用程序,我必须将所有数据存储在文件中(而不是MySQL)。现在我几乎没有问题:

  1. 哪种结构更好/更有效:DOM结构(XML文件)或普通文本文件(数据将由定义的分隔符分隔)。
  2. 如果是文本文件,我应该使用哪些分隔符?
  3. 如果我有很多文章,我应该将所有这些文章保存在一个文件中,还是每篇文章都有一个文件?

3 个答案:

答案 0 :(得分:3)

以下是我对3个子问题的最佳信息。

1)XML文件可以让您利用XSLT和XPath等其他工具来搜索和操作您的数据。它将以牺牲大小和性能为代价(如果大小可管理,这可能不是什么大问题。如果您想要将新数据添加到后续行而不重新处理旧数据,XML也会为您提供更大的灵活性(您可以通过每行开头的格式版本号来实现这一点,但是你的代码可能会很快变得难看。

2)坚持可行的方法,很好地支持CSV libraries

3)这里有两个限制。

文件大小)文件的最大大小(取决于文件系统)以及大文件在以后备份或拆分数据时的含义。

文件数量)一个文件夹中可以拥有的文件数量有一个上限(再次取决于文件系统,但有限制)

我倾向于每个资产更喜欢1个文件。如果可以将数据拆分为可管理的块,则可以更轻松地解决许多其他问题。同样与Mike的答案一致,当您不需要XSLT或类似XPath的功能时,JSON是一个更好的序列化形式。这很容易推理和更小。

答案 1 :(得分:1)

您可以考虑在文本文件中使用JSON作为序列化,因为它可以存储更复杂的数据关系。

话虽如此。如果您希望系统有任何负载,那么读取和写入文本文件将是疯狂的。

如果您仅限于使用其他评论中提到的文件系统SQLite,则可能是您最好的选择。

答案 2 :(得分:0)

如前所述...... JSON ......

除了复杂的数据,使用JSON你可以使用javascript(及其框架,如jquery或extjs)来处理客户端的数据...我认为它是一个很大的目标