一般问题:文件系统还是数据库?

时间:2010-05-05 11:43:59

标签: performance database-design file-management file-storage

我想创建一个小型文档管理系统。有几个用户存储他们的文件。上传的每个文件都包含有关哪个用户上传它以及文档内容本身的信息。 在视图中,将显示一个特定用户的所有文件,按日期排序。

什么会更好:

  1. 为文档提供包含日期和用户的名称或元数据(XML)(并通过它们迭代以获取元数据)或...

  2. 为文件提供随机/唯一名称并将数据库存储在数据库中?像这样的东西:

    date | user | filename
    
  3. 你会说什么?为什么? 使用的编程语言是Java,DB是MySQL。

3 个答案:

答案 0 :(得分:3)

我会选择数据库。数据库更快,更安全(您不会意外删除重要文件)并且更容易。此外,这是数据库的目的:管理大量数据。文件系统用于存储文件。

但选择当然是给你的。

但我保证:(DB > XML) == true表现出色,(DB >= XML) == false表示文件大小!

答案 1 :(得分:3)

我会选择元数据存储的第二个选项。 MySQL将处理并发性,并且在DB中搜索比迭代XML文件快得多。

答案 2 :(得分:0)

那么,如果数据量非常低,那么就说最大值。每个用户30个文件,让我们说20个用户 - >最多600个文件。你如何判断为每个用户创建一个单独的文件夹的解决方案,并为文件提供用户依赖的唯一名称?因此,您可以轻松地通过文件系统进行导航。在这种情况下,DB会对这么少量的文档有意义吗?