【问题标题】:Design of online folder system [closed]在线文件夹系统的设计[关闭]
【发布时间】:2012-02-27 04:02:48
【问题描述】:

哪一个是在线文件夹系统的最佳设计?
用例是这样的。
用户可以上传文件夹(.zip 因为文件夹上传不支持)。然后他可以添加更多文件/文件夹或删除一些文件/文件夹。

如果我通过直接复制到服务器文件系统来做到这一点,这将是一个好的设计(我担心可能的性能问题,尽管这种方法是最简单的方法)。 或者我应该将文件保存到数据库中吗? 如果 DB 是这种情况,哪个是最好的设计? 注意我使用 mysql、servlet 和 glass fish 进行开发

【问题讨论】:

    标签: java mysql jakarta-ee tomcat servlets


    【解决方案1】:

    如果文件不敏感且磁盘空间不是问题,则文件系统是比 DB 更好的选择。

    如果我通过直接复制到服务器文件系统来做到这一点,这会是一个好的设计吗(我担心可能的性能问题,尽管这种方法是最简单的)

    关于性能,你得到了完全相反的结果。只需考虑必须将您的文件内容转换为字节数组并通过网络将其传递给 DB 并让 DB 处理它,每次您只想读取它时,都必须从 DB 一路完成那么所有东西都必须加载到内存中,特别是如果您必须处理大量大文件,它可能会变成内存问题。

    选择数据库而不是文件系统的另一个问题是,您必须让您的应用程序执行文件系统将为您执行的操作。例如文件夹内的文件夹名重复,文件夹内的文件名重复,哪个文件属于哪个文件夹,...

    如果可以选择文件系统而不是 DB,那么我肯定会这样做。

    【讨论】:

    • 我完全同意,但是:如果您的应用程序将托管在网络场或将来需要多个网络服务器,那么将应用程序数据存储在本地硬盘上可能是后来的一个大问题。我仍然同意将它们存储在文件系统上是正确的做法,但如果您需要这种可扩展性,那么请准备好在未来实现某种共享文件系统。
    • 完全同意多个 Web 服务器的可扩展性。
    • 好吧,一旦我为这个应用程序获得至少 50 个用户,我会考虑可扩展性。永远存在,感谢您指出这一点
    猜你喜欢
    • 1970-01-01
    • 2010-09-07
    • 2020-05-02
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多