2012-07-25 108 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的)來處理客戶端的數據...什麼我認爲它的一個大目標