1

我想創建一個小文檔管理系統。有幾個用戶存儲他們的文件。上傳的每個文件都包含有關哪個用戶上傳它的信息以及文檔內容本身。 在視圖中,將顯示ONE特定用戶的所有文件,按日期排序。一般問題:文件系統或數據庫?

什麼會更好:

  1. 給予包含日期和用戶(和遍歷它們來獲取元數據)的文件的名稱或元數據(XML)或...

  2. 給文件一個隨機/唯一的名稱和存儲在數據庫中的元數據?是這樣的:

    date | user | filename 
    

你會說什麼,爲什麼? 使用的編程語言是Java,DB是MySQL。

回答

3

我會選擇數據庫。數據庫更快,更安全(您不會意外刪除重要文件)並且更容易。此外,這是數據庫的目的:管理大量數據。文件系統用於存儲文件。

但是,選擇當然是你。

但我保證:(DB > XML) == true在性能上,(DB >= XML) == false在filesize!

+0

嗨,thx爲您快速回答! 你加強了我選擇數據庫的傾向:) 是否有任何建議第一種解決方案的觀點? – poeschlorn 2010-05-05 11:52:24

+0

那麼,MySQL需要安裝軟件。像libxml這樣的XML庫可以簡單地鏈接到你的程序。我不是Java專家,所以我不知道Java是否默認支持XML。 – 2010-05-05 11:57:39

+0

WWWWWWWWWWWWWWWWWWWWWWW,您知道您可以隨時編輯您的個人資料並更改您的「顯示名稱」(可能會刪除一些額外的'W')。 – 2010-05-05 12:08:49

3

我會選擇元數據存儲的第二個選項。 MySQL將處理協調性,並且在數據庫中搜索比迭代XML文件要快得多。

0

那麼,如果數據量非常低,我們假設max。每個用戶30個文件,假設有20個用戶 - 最多> 600個文件。你如何判斷解決方案爲每個用戶創建一個單獨的文件夾,並給這些文件一個用戶可靠的唯一名稱?所以您可以輕鬆瀏覽文件系統。在這種情況下,數據庫對於這麼少量的文檔是否有意義?