2012-07-25 111 views
1

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

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

你可以使用[SQLite](http://php.net/sqlite)? – drew010 2012-07-25 22:50:03

+0

没有。我必须使用xml或txt文件 – David 2012-07-25 22:51:06

+1

要保存什么样的数据以及如何使用这些数据? – olovholm 2012-07-25 22:51:34

回答

3

以下是关于您的3个子问题的最佳信息。

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

2)有什么工作坚持,CSV都很好,大libraries

3)你有两个支持限制在这里考虑。

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

文件数量)有一个上限,以文件的数量,你可以有一个文件夹中(同样依赖于文件系统,但也有限制)

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

1

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

这就是说。如果你期望你的系统有任何负载,读写文本文件将会疯狂地缩放。

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

0

和以前一样...... JSON告诉...

除了复杂的数据,使用JSON你可以使用JavaScript(和它的框架如jQuery或ExtJS的)来处理客户端的数据...什么我认为它的一个大目标