【问题标题】:General question: Filesystem or database?一般问题:文件系统还是数据库?
【发布时间】:2010-05-05 11:43:59
【问题描述】:

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

还有什么更好的:

  1. 为文档提供名称或元数据 (XML),其中包含日期和用户(并遍历它们以获取元数据)或...

  2. 给文件一个随机/唯一的名称并将元数据存储在数据库中?像这样:

    date | user | filename
    

你会说什么,为什么? 使用的编程语言是Java,数据库是MySQL。

【问题讨论】:

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


    【解决方案1】:

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

    但选择当然是你自己。

    但我保证:(DB > XML) == true 在性能上,(DB >= XML) == false 在文件大小上!

    【讨论】:

    • 嗨,谢谢您的快速回答!你加强了我选择 DB 的倾向 :) 有什么建议可以推荐第一种解决方案吗?
    • 嗯,MySQL 需要安装软件。像 libxml 这样的 XML 库可以简单地链接到您的程序。我不是Java专家所以我不知道Java是否默认支持XML。
    • WWWWWWWWWWWWWWWWWWWWWWW ,您知道您可以随时编辑您的个人资料并更改您的“显示名称”(可能删除一些额外的“W”)。
    • 当然,这很重要。在我的情况下,mysql和api已经安装并可以使用;-)还有什么? 头脑风暴
    • @KM 我要到六月才能更改它
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      那么,如果数据量非常低,假设是 max。每个用户 30 个文件,假设 20 个用户 -> 最多 600 个文件。您如何判断为每个用户创建一个单独的文件夹并为文件赋予用户依赖的唯一名称的解决方案?因此,您可以轻松地浏览文件系统。在这种情况下,数据库对这么少的文档有意义吗?

      【讨论】:

        猜你喜欢
        • 2011-01-05
        • 2011-11-14
        • 2011-07-08
        • 1970-01-01
        • 2013-04-28
        • 1970-01-01
        • 2019-07-15
        • 1970-01-01
        相关资源
        最近更新 更多